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

9nvpjoqh  于 2022-11-08  发布在  其他
关注(0)|答案(2)|浏览(260)

我使用的虚拟主机已经为数据库启用了StrictMode。我所有的php脚本现在都停止工作了,因为它们报告我没有为某些列定义默认值。
由于我在很多表中有很多列,有没有办法将所有列的“default value = none”设置为“default value = NULL”?这样它就不会再向我报告错误了。
当然,如果有其他(更好的)方法,我也可以。
我试着在网上找,但我找不到任何适合这个案子的东西。

cclgggtu

cclgggtu1#

您可以更改列

ALTER TABLE table_name
 MODIFY COLUMN col datatype  DEFAULT null
knpiaxh1

knpiaxh12#

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

ALTER TABLE yourTable ALTER some_text_column SET DEFAULT 'None';

下面是更新:

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

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

相关问题