我有兩個MySQL表cases
和pivot
MYSQL INSERT,UPDATE DELETE
cases
看起來是這樣的:
Idgame Id
1 2
1 1
1 5
1 3
1 1
1 6
... ...
1 2
pivot
看起來是這樣的:
Idgame Id Icone
1 1 7
1 2 14
1 3 15
1 5 6
1 6 1
所有標識在pivot
必須cases
用戶可以修改cases
中的ID,所以當有變更時我想更新pivot
。
1)如果有一個新的ID尚未pivot
我想在pivot
與ICONE = 1添加一個新行(我設置1爲默認值)
2)如果有些標識不再在cases
我要刪除他們pivot
3)如果ID仍處於cases
我試圖做到這一點與REPLACE INTO或插上重複鍵我沒有改變pivot
什麼,但我無法做到這一點...
我嘗試了下面的東西。它幾乎可以工作,但不會執行刪除(點2): 我在pivot
的3列(id,idgame和icone)上添加了PRIMARY KEY。
REPLACE INTO `pivot` (id,idgame,icone)
SELECT DISTINCT cases.id, cases.idgame, pivot.icone
FROM `cases`
LEFT JOIN pivot ON (pivot.Idgame = cases.Idgame AND pivot.id = cases.id)
WHERE cases.Idgame = 1
只有一個請求可以做到嗎?