问题
在mysql数据库表可空字段中已存在空数据的情况下,想将该字段修改为非空字段:
1.在这个状态下修改,mysql数据库会报"Invalid use of null value"错误。
2.看了别的博主的解决方法:
1)添加新列,设置列的结构属性;将出错的列内容复制到新列中并删除出错列;修改新列名为出错的列名;(从原理上讲操作下来还是回报错,在第二步时就错插入不进去)
2)把为null约束的字段数据保存后,将这个字段全部更新Update, 使这个字段的每一行都有值! ,然后再使用alter语句去修改这个字段为not null约束就可以了!(这个方法可行,但是会影响数据的展示)
解决方案
将该字段中为空的部分修改为""或" "即可(实测值中间什么都不输入或者输入一个空格均可):
update tablename set fieldname="" where fieldname is null;
这样修改既保证了字段非空的修改,又保障了字段在展示时不受到影响。