我有一个查询,它正在更新在其中传递的用户的状态。
update userinfo set status=1 where id in
(select id from userinfo where name in ('viki','nik','mike'));
查询工作正常。 但问题是假设'nik'名称不存在于数据库中。 然后查询将不适用于'nik'之后的其余用户。 如何确保为每个更新查询运行?
提前致谢。
答案 0 :(得分:1)
无论您的集合中的某个名称是否存在于userinfo
表格中,它都可以使用。
ALSO :为什么要运行第二个查询以从您尝试更新的同一个表中获取ID列表?去吧:
UPDATE userinfo
SET status = something
WHERE name IN ('viki','nik','mike');
答案 1 :(得分:1)
它会起作用。查询:
select id from userinfo where name in ('viki','nik','mike')
即使“'viki
”不存在,也会返回“mike
”和“nik
”的ID。
为什么你认为它不起作用?