数据库
首页 > 数据库> > mysql更新语句中的用户变量

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