簡體   English   中英

MySQL插入同一個表上的選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM