【发布时间】:2012-01-27 02:14:10
【问题描述】:
让t 是一个mysql 表,n 是其中的一个整数列。如果可以修改以下查询以便表达式 n - 10 只计算一次,我会很感兴趣。
UPDATE t SET n = if(n - 10 < 1, 1, n - 10) WHERE n = 5;
查询没有意义,我知道,但我需要在实际应用程序中使用相同的模式,其中值 10 和 5 将是 php 变量。
【问题讨论】:
-
只计算一次是什么意思?
-
你为什么在乎它。将结果实际写入数据库将快数百万倍。
-
好吧,现在计算两次(对于 if 中的每次出现)。我希望 n-10 表达式只出现一次 - 在分配给这样的用户变量时:@tmp := n - 10。但我不知道确切的语法。
标签: mysql sql-update user-variables