我使用的虚拟主机已为数据库启用了StrictMode。我的所有PHP脚本现在都停止工作,因为它们报告我尚未为某些列定义默认值。
由于我在很多表中都有很多列,是否有办法将所有列设置为“默认值=无”和“默认值= NULL”? 这样,它将不再向我报告错误。
当然,如果还有另一种(更好)的方法,我可以使用。
我尝试过上网查找,但是找不到适合这种情况的任何东西。
答案 0 :(得分:0)
您可以更改列
ALTER TABLE table_name
MODIFY COLUMN col datatype DEFAULT null
答案 1 :(得分:0)
这里应该为引起错误的每一列工作的通用方法是设置默认值,然后进行更新以回填缺少值的记录。
ALTER TABLE yourTable ALTER some_text_column SET DEFAULT 'None';
这是更新:
UPDATE yourTable SET some_text_column = 'None' WHERE some_text_column IS NULL;
您不需要执行此更新,但是将旧记录丢失的值与新记录的外观保持一致可能是有意义的。