2
我有以下查詢更新表記錄設置新的外鍵,如果該外鍵和外鍵2尚不存在。這應該很好,但是,我該如何修改以刪除特定的pkID記錄,如果它存在的話?插入,如果不存在,但刪除,如果它存在
表結構:
+----------------+
| table |
+----------------+
| pkID |
| foreignKey |
| foreignKey2 |
+----------------+
查詢:
UPDATE table a
SET a.foreignKey = 2
WHERE a.pkID = 1234
AND NOT EXISTS (
SELECT 1
FROM table b
WHERE b.foreignKey = 2
AND b.foreignKey2 = a.foreignKey2
)
您插入,如果它不存在,不更新。 – 2011-02-04 21:50:19
所以你想做一個破壞性的upsert? `MERGE`在2008年會有幫助,但在2005年.. – RichardTheKiwi 2011-02-04 22:02:31