我有表A和B以及A_has_B,其中包含以下字段:
A:id,name
B:id,name
A_has_B:a_id,b_id,背景
以前当我在A_has_B中没有“背景”字段时,我通过删除A_has_B中的所有记录进行更新并重新插入更新的记录。
但是现在如何更新A_has_B whitout删除应重新插入的记录?
答案 0 :(得分:1)
听起来你只需要
update A_has_B
set background = ???
where a_id = ??? and b_id = ???
你必须填写缺失的部分。
答案 1 :(得分:1)
在我的脑海中,我会想到像......
DELETE FROM a_has_b
WHERE NOT EXISTS (
SELECT 1 FROM b
WHERE b.id=a_has_b.b_id
);
(和表'a'类似)
或
DELETE FROM a_has_b
WHERE b.id <> ANY (SELECT id FROM b);