【发布时间】:2018-02-03 04:35:01
【问题描述】:
我有一个无法解决的 MySQL 问题。我有一个 mysql 来管理虚拟用户 dovecot 安装,它使用两个表(一个用于别名,另一个用于域)。
表别名有这些字段: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";
我无法开始插入新别名,指定域名。像这样:
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”不是任何表格。所以我认为你不能使用它。插入语句必须有表名或视图名。