使用SELECT更新多行



我有一个表,两个行= 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 ...);

最新更新