我使用的虚拟主机已经为数据库启用了StrictMode。我所有的php脚本现在都停止工作了,因为它们报告我没有为某些列定义默认值。由于我在很多表中有很多列,有没有办法将所有列的“default value = none”设置为“default value = NULL”?这样它就不会再向我报告错误了。当然,如果有其他(更好的)方法,我也可以。我试着在网上找,但我找不到任何适合这个案子的东西。
cclgggtu1#
您可以更改列
ALTER TABLE table_name MODIFY COLUMN col datatype DEFAULT null
knpiaxh12#
这里的一个通用方法是设置一个默认值,然后可能对缺少值的回填记录进行更新,该方法应该适用于导致错误的每一列。
ALTER TABLE yourTable ALTER some_text_column SET DEFAULT 'None';
下面是更新:
UPDATE yourTable SET some_text_column = 'None' WHERE some_text_column IS NULL;
您不一定要执行此更新,但将缺少值的较旧记录与较新记录的外观保持一致可能是有意义的。
2条答案
按热度按时间cclgggtu1#
您可以更改列
knpiaxh12#
这里的一个通用方法是设置一个默认值,然后可能对缺少值的回填记录进行更新,该方法应该适用于导致错误的每一列。
下面是更新:
您不一定要执行此更新,但将缺少值的较旧记录与较新记录的外观保持一致可能是有意义的。