我有两张桌子,我希望加入。
我没有使用外键。
表格结构表1 ID,VAL1
表格结构表2 ID,val2的
我现在正在使用以下命令:
update table1 set val1=(SELECT val2 FROM table2 WHERE table1.id LIKE table2.id)
如果table2中不存在id,我如何强制sqlite不在table1中插入值?
答案 0 :(得分:0)
要使用精确比较,请使用=
代替LIKE
。
要仅更新找到匹配项的行,请使用WHERE子句:
UPDATE Table1
SET val1 = (SELECT val2
FROM Table2
WHERE Table1.id = Table2.id)
WHERE id IN (SELECT id FROM Table2);
如果省略WHERE子句,则不使用NULL值更新没有匹配的行。