当前位置:  开发笔记 > 后端 > 正文

如何在mysql中执行:如果id = idold那么UPDATE status = 1

如何解决《如何在mysql中执行:如果id=idold那么UPDATEstatus=1》经验,为你挑选了1个好方法。

我想比较两个表,然后更新,如果某些逻辑是真的,

在伪代码中:

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

有没有办法在MySQL中做到这一点?



1> cletus..:
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)

您应该测试,并且,根据您的数据库,您可能会发现一个比另一个更好的表现,尽管我希望任何体面的数据库都会优化然后无论如何都要相同.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有