【发布时间】:2012-07-09 15:07:37
【问题描述】:
我不断收到此错误:
ERROR 1292 (22007):截断不正确的 DOUBLE 值:'81d119b1a5'
每当我在 mysql 中运行此代码时
UPDATE myTable SET myCol = GREATEST((myCol - 10,000.00),0) WHERE myId = Id;
我的表引擎是 innodb,CHARSET=utf8 和 COLLATE=utf8_unicode_ci。 myCol 的数据类型也是 NUMERIC(10,2)。
谁能解释为什么这个错误不断弹出。我的猜测是我可能必须转换为整数,但到目前为止它没有成功。
ADDEDUM:通过更改 SET SQL_MODE = '';
【问题讨论】:
-
查询在
GREATEST(myCol - 10,000.00),0)附近有语法错误。所有括号都不在正确的位置。 -
感谢指出,这是一个错字
-
myCol有81d119b1a5这个值吗? -
之前的
SQL_MODE是什么? -
sql 模式为:STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
标签: mysql