我有一个奇怪的问题。我已经将PHP源代码和MySQL数据库(phpMyAdmin标准导出 - 导入)从一个服务器复制到另一个服务器。在旧服务器上一切正常,但在新服务器上我有数据库错误。
字段'xxx'没有默认值
我知道如何设置默认值或需要传递值null is off
。但为什么它在旧服务器上运行?在导出导入期间我错过了什么吗?旧数据库中没有触发器。也许配置不同?
答案 0 :(得分:1)
MySQL最有可能处于STRICT
模式。尝试运行
SET GLOBAL sql_mode=''
或修改您的my.cnf
以确保您没有设置STRICT_ALL_TABLES
等。
OR,更改表定义并为字段添加默认值。
例如:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NULL
或者,将其设为默认值为空字符串:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NOT NULL DEFAULT ''