我有一个表,两个行= 1 = 1且id = 2,他们的x参数为1。我也有b表和两个行带有相同的ID 1和2尝试更新B表上的所有数据(列),该数据具有相同的ID,其x参数为1。
的表表
id | x |
1 | 1 |
2 | 1 |
b表
id | Y |
1 | yes|
2 | yes|
我的查询是
UPDATE B SET y='No' WHERE B.id=(SELECT A.id FROM A WHERE A.x=1);
问题是选择返回mutliple数据,我只能更新第一个数据。我尝试使用加入,但sqlite在内部我找不到问题的语法错误。
。 UPDATE B SET B.y='No' INNER JOIN A ON B.id=A.id WHERE A.x=1;
使用以下:
UPDATE ... WHERE B.id IN (SELECT A.id ...);