我有一個我無法解決的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