mysql更新语句中的用户变量
作者:互联网
令t为mysql表,n为其中的整数列.如果可以修改以下查询,使表达式n-10仅计算一次,我将很感兴趣.
UPDATE t SET n = if(n - 10 < 1, 1, n - 10) WHERE n = 5;
我知道查询没有意义,但是我需要在实际应用程序中使用相同的模式,其中值10和5将是php变量.
解决方法:
好吧,我终于找到了正确的语法. @tmp:= n-10周围的括号至关重要.
UPDATE t SET n = if((@tmp := n - 10) < 1, 1, @tmp) WHERE n = 5;
标签:sql-update,user-variables,mysql 来源: https://codeday.me/bug/20191201/2083620.html