我有个奇怪的问题。我已经将PHP源代码和MySQL数据库(phpMyAdmin标准导出-导入)从一台服务器复制到另一台服务器。在旧服务器上,一切正常,但在新服务器上,我遇到了数据库错误。
字段“xxx”没有默认值
我知道如何设置默认值,或者如果为null is off
,则需要传递值。但是为什么它能在旧服务器上工作呢?我是不是在导出-导入过程中遗漏了什么?旧数据库中没有触发器。也许配置是不同的?
发布于 2016-02-09 17:13:42
MySQL最有可能处于STRICT
模式。尝试运行
SET GLOBAL sql_mode=''
或者编辑您的my.cnf
以确保您没有设置STRICT_ALL_TABLES
或类似的设置。
或者,更改表定义并为该字段添加默认值。
例如:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NULL
或者,给它一个空字符串的默认值:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NOT NULL DEFAULT ''
https://stackoverflow.com/questions/35287846
复制相似问题