【发布时间】:2017-01-23 01:44:49
【问题描述】:
我正在使用 PHP + MySQL 应用程序。该应用程序对我来说运行良好。但是当我将它托管在另一台服务器上时,我得到了一个 MySQL 错误:
错误代码:1364。字段“字段”没有默认值
我知道这是 MySQL 版本的问题,我们应该为所有列设置默认值。但目前我有 100 多张桌子。所以我需要为所有表中还没有默认值的所有列设置默认值NULL。
我不能使用strict mode 选项,因为服务器是共享的。是否可以一步设置而不是为每个表设置?如果不可能,请告诉我最简单的设置方法。
任何帮助将不胜感激
【问题讨论】:
-
有人否决了这个问题。不知道为什么?
-
我减轻了这一点,你的问题还不错;)要在不改变模式的情况下在数据库端修复它,你必须改变你的列给它们一个默认值。 How do I alter a mysql table column defaults? 可能会有所帮助。
-
hmm..okay.. 是否可以在单个查询中查询整个数据库?
-
否,但可以使用大量字符串替换或列编辑模式(使用 UltraEdit 或 Notepad++)操纵 DDL SQL 脚本添加一些
NOT NULL DEFAULT ''。这是我经常用来解决此类问题的策略。