[英]MySQL insert with select on same table
我正在嘗試遷移到新數據庫,並試圖通過將先前的ID保存在“ TMP”列下來保留父子層次結構,問題是當我嘗試通過選擇所說的TMP列來拉相關ID時,我得到了MySQL Insert Query #1093
錯誤。
以下是一些代碼:
INSERT INTO UnitTree (DealerID, Label, TMP) VALUES
((SELECT ID FROM Dealer WHERE Name='Dealer1'),'Folder1', (SELECT ID FROM UnitTree WHERE TMP=2)),
((SELECT ID FROM Dealer WHERE Name='Dealer2'),'Folder2',(SELECT ID FROM UnitTree WHERE TMP=3)),
((SELECT ID FROM Dealer WHERE Name='Dealer3'),'Unit1',(SELECT ID FROM UnitTree WHERE TMP=4));
注意:所有子查詢都在唯一列上,並且只會返回1個結果
我一直在尋找答案,但沒有找到答案,因此,我很抱歉。 謝謝你的幫助!
看看這個 :
SELECT ID FROM Dealer WHERE Name='Enertia'
此查詢未在db中返回此名稱的ID。
它對我下面的查詢工作:
INSERT INTO mydata (col1, col2)
values(123,(SELECT col2 FROM (SELECT col2 FROM mydata) a));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.