select语句(mysql)中满足条件后的update语句
如果所选表格为真,我在更新时遇到问题 如果此select语句为trueselect语句(mysql)中满足条件后的update语句,mysql,sql,Mysql,Sql,如果所选表格为真,我在更新时遇到问题 如果此select语句为true (SELECT COUNT(*) FROM Add_bonus WHERE value > 0) > 0) THEN do UPDATE bonus SET amount = amount + 10 WHERE 1 只有MySQL中的存储过程、函数和触发器才允许使用if语句。只需一次更新即可完成此操作: UPDATE bonus SET amount = amount + 10 WHERE ex
(SELECT COUNT(*) FROM Add_bonus WHERE value > 0) > 0)
THEN do
UPDATE bonus SET amount = amount + 10 WHERE 1
只有MySQL中的存储过程、函数和触发器才允许使用
if
语句。只需一次更新即可完成此操作:
UPDATE bonus
SET amount = amount + 10
WHERE exists (select 1 from Add_Bonus where value > 0);
请注意,当add\u bonus
表中存在任何适当的行时,此查询将更新bonus
表中的所有行。这似乎是您最初查询的目的。更常见的情况是,可能有一个员工id链接这两个表
另请注意,的用法存在
。这通常比使用count(*)
更有效,因为它可以在匹配的第一行上停止处理