mysql 新服务器上的默认值错误
mysql default value errors on new server
我有一个奇怪的问题。我已将 PHP 源代码和 MySQL 数据库(phpMyAdmin 标准导出-导入)从一台服务器复制到另一台服务器。在旧服务器上一切正常,但在新服务器上出现数据库错误。
Field 'xxx' doesn't have a default value
如果null is off
,我知道如何设置默认值或需要传递值。但是为什么它可以在旧服务器上运行?我在进出口期间错过了什么吗?旧数据库中没有触发器。也许配置不同?
MySQL 最有可能处于 STRICT
模式。尝试 运行
SET GLOBAL sql_mode=''
或编辑您的 my.cnf
以确保您没有设置 STRICT_ALL_TABLES
或类似内容。
或者,更改 table 定义并为字段添加默认值。
例如:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NULL
或者,给它一个默认值作为空字符串:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NOT NULL DEFAULT ''
我有一个奇怪的问题。我已将 PHP 源代码和 MySQL 数据库(phpMyAdmin 标准导出-导入)从一台服务器复制到另一台服务器。在旧服务器上一切正常,但在新服务器上出现数据库错误。
Field 'xxx' doesn't have a default value
如果null is off
,我知道如何设置默认值或需要传递值。但是为什么它可以在旧服务器上运行?我在进出口期间错过了什么吗?旧数据库中没有触发器。也许配置不同?
MySQL 最有可能处于 STRICT
模式。尝试 运行
SET GLOBAL sql_mode=''
或编辑您的 my.cnf
以确保您没有设置 STRICT_ALL_TABLES
或类似内容。
或者,更改 table 定义并为字段添加默认值。
例如:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NULL
或者,给它一个默认值作为空字符串:
ALTER TABLE `tableA` CHANGE `field` `field` TEXT NOT NULL DEFAULT ''