版本是TiDB-v4.0.0-rc.1
请问修改前是什么属性?
修改前就是正常的默认设置
我这边没有复现,请其他同事帮忙查看,会尽快反馈,多谢
你好,可以提供一下有问题的表的 explain 结果吗,因为我本地执行之后这一列是可以为 NULL 的,但是我看上面的截图里,explain的结果似乎是 NO
对,现在是no。本来是not null,但是修改为not null已经成功了,查询的时候会报错
也就是这列原本是not null的, 然后修改成了null,还写入了数据 但是查询出错了是吗。
不是,原本是null,后来改成了not null.
可以先用alter table 把这一列改成null看看能否让查询成功。
改为null是没问题的
- 意思是能否尝试重新执行一遍这个修改操作,先修改为原值,再修改为not null ,看看问题能否解决。或者说错误依然能够复现。
- 当前请考虑业务是否满足,是否会有什么影响。
可以先alter table null default ‘’
然后再看一下这个查询结果:select count(1) from f_mid_order_details_tmp_tmp where relations_order_tag is null
这样可以,not null为什么不行呢?
select count(1) from f_mid_order_details_tmp_tmp where relations_order_tag is null 的结果大于0吗
有点怀疑是表里这列有 null 数据,但是alter table因为某些原因执行成功了,但是查询时检查未通过