加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite – 使用SELECT更新多行

发布时间:2020-12-12 18:58:16 所属栏目:百科 来源:网络整理
导读:我有一个表和两行id = 1和id = 2,他们的x参数是1.我也有B表和两行具有相同的id 1和2.我试图更新所有的数据(列) B表与具有x参数为1的表具有相同的id. 一张桌子 id | x | 1 | 1 | 2 | 1 | B表 id | Y | 1 | yes| 2 | yes| 我的疑问是 UPDATE B SET y='No' WHER
我有一个表和两行id = 1和id = 2,他们的x参数是1.我也有B表和两行具有相同的id 1和2.我试图更新所有的数据(列) B表与具有x参数为1的表具有相同的id.

一张桌子

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数据,我只能更新第一个数据.
我试图使用JOIN但sqlite在INNER附近给出语法错误我找不到问题.

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 ...);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读