我試圖找出如何從同一個表中複製行記錄(僅當該行不存在時),但我找到的解決方案只是其中的一部分。例如,「複製記錄」或「如果不存在則插入」。所以我試著合併這些答案來製作我的答案,但是......我想我只是做了一些令人厭惡的程式碼。
讓我們看看這個
INSERT INTO LCL SELECT * FROM LCL WHERE (UID = 0 AND NAME = 'S_TYPE') WHERE NOT EXISTS (SELECT * FROM LCL WHERE UID = 11 AND NAME = 'S_TYPE' LIMIT 1);
有一筆預設格式記錄,UID = 0
。如果沒有NAME = S_TYPE
的記錄,則複製NAME = S_TYPE AND UID = 0
的記錄,並將UID
改為11。該記錄應複製所有列的資料。所以我嘗試使用 SELECT * 但不確定是否正確。
我確定我把兩個 WHERE
s 搞砸了...
如果您已經有
WHERE
那麼後續應該是AND
。我不認為你真的需要第一個WHERE
上的括號: