如果另一个字段已更新,则更新mysql

时间:2019-02-12 08:31:52

标签: mysql sql

我需要根据在同一查询中更新的另一个字段的值来更新一个字段。

例如,这可能是我的代码:

UPDATE my_table SET qty = qty+1, complete = IF(qty = '10', '1', '0') WHERE id = '1'

IF条件中qty的值是更新之前还是之后的值?

2 个答案:

答案 0 :(得分:0)

UPDATE my_table SET qty = qty+1, complete = IF(qty = 9, '1', '0') WHERE id = '1'

应该将条件中的值与更新之前的值进行比较,因此,如果您的条件应与更新后的值进行比较,那么您应该与语句中的9进行比较(如果您将比较中的值加1 :))。 / p>

另外,您将数字数据与字符串值(用撇号表示)进行比较(我猜是这样),这会导致隐式强制转换。您应该意识到这一点:)

答案 1 :(得分:0)

该值是在更新qty后以“ qty = qty + 1”表示的 因此,如果表中的数量= 5。

语句“ IF(qty ='10','1','0')”中的数量为6。