百度结果很多都显示和存储过程、批处理有关。
我这里遇到的情况比较简单,在修改 MySQL 表字段类型时,需要将某一个字段从 varchar 修改为 decimal 类型,但是这个表中已经存在该字段为 ‘’(空字符串)的记录,因此出现错误:Incorrect DECIMAL value: ‘0’ for column ‘’ at row -1
需要提出的是,在使用了各种 orm 后,报错信息中可能只有错误消息,但是没有告诉我们是哪个表、哪个字段修改引发的问题,这是可以使用 arthas 的 watch 工具,watch 堆栈中的某一个方法,可以看到实际执行的 alter 语句。