我有一个我无法解决的MySQL问题。我有一个mysql来管理虚拟用户dovecot安装,它使用两个表(一个用于别名,另一个用于域)。mysql插入值,从另一个表中选择的数据
表别名具有以下字段:domain_id(INT),source(VARCHAR),destination(VARCHAR),而表域只有两个字段:id(INT AUTO INC)和name(VARCHAR)。
虽然我可以通过发行来选择属于给定域别名:
SELECT valias.* FROM aliases AS valias
JOIN domains AS vdomains ON valias.domain_id=vdomains.id
WHERE vdomains.name = "domain_name";
我不能去上班插入一个新的别名,specifing域名。像这样:
INSERT INTO valias(domain_id, source, destination)
VALUES (id, 'canto', 'george')
SELECT id FROM aliases
JOIN domains AS vdomains ON aliases.domain_id=vdomains.id
WHERE vdomains.name = "domain_name";
有人知道如何解决这个问题吗?
如果我正确理解那么你已经使用了INSERT INTO valias,其中“valias”不是任何表。所以我认为你不能使用它。插入语句必须具有表名或视图名。 – user2510115