一、问题
研发的同事说mysql里面更新一个空值报错了
如下:
ERROR 1366 (HY000): Incorrect decimal value: ‘’ for column ‘id’ at row 1
模拟语句
二、解决
1、通过查看报错的信息,找到出现问题的列。
2、通过查看列的字段类型,是decimal
3、通过查询得知,decimal 空值不能使用’’,需要使用null.
三、小插曲
告诉他们换成null值后,他还说语句报同样的错。
仔细看下他的语句报错信息,发现是语句中其他字段报错,原因也是decimal 值问题。执行语句中所有decimal 的字段都换成NULL后,执行正常了。
所以要仔细看报错信息。