繁体   English   中英

SQL:将所有没有默认值的列的默认值设置为 NULL

[英]SQL: Set default value to NULL for all columns without default value

我使用的虚拟主机为数据库启用了 StrictMode。 我所有的 php 脚本现在都停止工作了,因为它们报告我没有为某些列定义默认值。

由于我在很多表中有很多列,有没有办法将所有列设置为“默认值 = 无”和“默认值 = NULL”? 这样它就不会再向我报告错误了。

当然,如果有另一种(更好的)方式,我可以使用它。

我尝试在网上查找,但找不到适合这种情况的任何东西。

你可以改变列

ALTER TABLE table_name
 MODIFY COLUMN col datatype  DEFAULT null

这里应该适用于导致错误的每一列的一般方法是设置默认值,然后可能进行更新以回填缺少值的记录。

ALTER TABLE yourTable ALTER some_text_column SET DEFAULT 'None';

这是更新:

UPDATE yourTable SET some_text_column = 'None' WHERE some_text_column IS NULL;

您不需要进行此更新,但将旧记录缺失值与新记录的外观保持一致可能是有意义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM