2011-02-23 50 views
0

我有表A和B以及A_has_B哪裏有這樣的字段:MySQL的更新許多到許多TABEL關係

答:ID,名稱

B:ID,名稱

A_has_B:A_ID ,b_id,background

以前,當我在A_has_B中沒有'background'字段時,我通過刪除A_has_B中的所有記錄並重新插入更新的記錄來更新。

但現在如何更新A_has_B刪除應重新插入的記錄?

+0

請你請澄清你的問題 – 2011-02-23 11:47:08

+0

當我沒有'background'字段時,我能夠從A_has_B中刪除給定a_id的所有記錄,然後重新插入所有新記錄,但現在如果我這樣做,用戶應重新上傳Previo的背景圖像usly檢查了a_id – 2011-02-23 11:54:35

回答

1

關閉我的頭頂,我認爲像....

DELETE FROM a_has_b 
WHERE NOT EXISTS (
    SELECT 1 FROM b 
    WHERE b.id=a_has_b.b_id 
); 

(並表 '一' 相似)

DELETE FROM a_has_b 
WHERE b.id <> ANY (SELECT id FROM b); 
1

這聽起來像你只需要

update A_has_B 
set background = ??? 
where a_id = ??? and b_id = ??? 

你必須填寫失位。