如何通过数学运算设置列tmp
的值?
UPDATE mytable SET mycol = order / 100 + bar * 1000;
此命令返回以下错误消息:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'foo / 100 + bar * 1000)' at line 1
===
在原始问题中,我的列名order
重命名为foo
。
答案 0 :(得分:0)
您在Mysql上正确编写了查询语句。它没有引起任何错误。 tmp,bar和foo列需要相同的数据类型
答案 1 :(得分:0)
您需要在公式中添加方括号。 foo / 100 + bar * 1000
将返回不带括号的其他值。例如:
-- lets say foo=5 and bar=6
5 / 100 + 6 * 1000 = 6000.0500
5 / (100 + 6) * 1000 = 47.1698
5 / ((100 + 6) * 1000) = 0.0000
-- if your formula look like this ((100 + bar)/foo) * 1000
((100 + 6)/5) * 1000 = 21200.0000
您必须先确定要执行哪个数学公式,然后用方括号将其括起来。