1.背景
线上数据导入到本地,报错提示 数据truncated,查询之后发现enum字段有空值
2.排查
2.1 先手动修改值,修改为空,失败
2.2 代码正常crud,修改为空,失败
2.3 对比线上线下数据库sql_mode, 线上不是严格模式,找出问题,非严格模式下可更新为null和空
3.指南
3.1 获取mysql的mode
SELECT @@sql_mode;
3.2 获取非法空值
SELECT
你要查询的enum字段,
你要查询的enum字段 + 0
FROM 你的表
WHERE id = 1;
