我想更新MySQL中列的值以获取另一个表中的所有值,但是当我尝试这样做时,我收到以下错误。我怎样才能做到这一点?
update table1 set value = "0" where url = (select * from url_list) ;
ERROR 1242 (21000): Subquery returns more than 1 row
有什么想法吗?
答案 0 :(得分:2)
您可以将“IN”用于“=”运算符或
(select * from url_list)
查询应该只返回一行。
答案 1 :(得分:1)
如果网址存在于url_list的url列中,假设您希望将值设置为0,请尝试
update table1 set value = "0" where url in (select url from url_list);
答案 2 :(得分:0)
如果您将=
更改为IN
:
update table1 set value = "0" where url IN (select * from url_list);
答案 3 :(得分:0)
update table1 set value = "0" where url IN (select * from url_list)
答案 4 :(得分:0)
更改查询结尾:
WHERE url IN (select url from url_list)
答案 5 :(得分:0)
UPDATE table1 x
JOIN url_list y
ON y.url = x.url
SET x.value = 0;