English 中文(简体)
如何在MySQL中执行此操作:如果id=idold,则UPDATE状态=1。 如果id=idold,则更新状态为1。
原标题:
  • 时间:2008-12-25 11:22:45
  •  标签:

我想比较两个表,然后根据一些逻辑进行更新。

在伪代码中:

SELECT * FROM users, usersold IF users.id=usersold.id THEN UPDATE users.status=1;

在MySQL中有没有做这个的方式?

最佳回答
UPDATE users u
SET status = 1
WHERE EXISTS (SELECT id FROM usersold WHERE id = u.id)

替代版本:

UPDATE users
SET status = 1
WHERE id IN (SELECT id FROM usersold)

您应该进行测试,并根据您的数据库,您可能会发现其中一个执行效果比另一个好,尽管我期望任何体面的数据库都将优化它们以达到基本相同的效果。

问题回答

暂无回答




相关问题
热门标签