新服务器上的mysql默认值错误

时间:2016-02-09 09:06:51

标签: php mysql default

我有一个奇怪的问题。我已经将PHP源代码和MySQL数据库(phpMyAdmin标准导出 - 导入)从一个服务器复制到另一个服务器。在旧服务器上一切正常,但在新服务器上我有数据库错误。

  

字段'xxx'没有默认值

我知道如何设置默认值或需要传递值null is off。但为什么它在旧服务器上运行?在导出导入期间我错过了什么吗?旧数据库中没有触发器。也许配置不同?

1 个答案:

答案 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 ''