MySQL:通过数学运算设置值

时间:2019-04-25 02:11:32

标签: mysql math

如何通过数学运算设置列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

2 个答案:

答案 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

您必须先确定要执行哪个数学公式,然后用方括号将其括起来。