Data truncation: Truncated incorrect DOUBLE value: '15,688'
出现该Data truncation: Truncated incorrect DOUBLE value: '15,688' 的原因:还是主要由于非法数据导致的。排查方法 可用函数自带的length方法可以逐步排查。
下面我大概说一个可以引发该问题的情况。比如 表里有这么一个字段暂且 为字段A 表示 价格(price)吧。总之就是存储数字类型的字段。最简单的 字段类型 我们可以定义为
FLOAT,DOUBLE,DECIMAL,VARCHAR 等类型。 其中 FLOAT,DOUBLE,DECIMAL用来存储数是没有问题的。但是 用 VARCHAR 存储价格 数字 一般也是没有问题的,比如能用
FLOAT,DOUBLE,DECIMAL 存储的数据 你用 VARCHAR 类型 去存取 是没有问题的。然后你在VARCHAR 这列上对price 使用sum 求和 也是没有问题的。
但是 其中有一条数据 含了有单位元即 真实的数据 为 88,888元 ,这样存储 也是没有问题的。因为是VARCHAR 类型嘛。但是其他的数据都是 VARCHAR 类型的数据 ,而这一条包含了 数字和汉字 ,然后你再去用 sum 对该列求和 就会 出现这样的问题。总之 ,落地的数据最好合法,如果字段类型设计不规范 ,很容易出现问题的。 比如 存储价格 就用FLOAT,DOUBLE,DECIMAL
这其中的,毕竟存储的时候数据库底层 相当于 给你做了校验,那么出错 的概率就低了。