这个 MySQL 错误与时区有关吗? `value` datetime DEFAULT '0000-00-00 00:00:00',
Is this MySQL error timezone-related? `value` datetime DEFAULT '0000-00-00 00:00:00',
作为设计师,我不懂MySQL,也没有能力修改数据库。放轻松!
造成错误
从服务器 运行ning MySQL 5.7.27[=14 导出了一个 Concrete5 数据库(在 php 7 上修改为 运行) =]
将数据库导入 MAMP Pro 5.5.1 运行ning MySQL 5.7.26 用于本地开发
像这样与时间相关的行导入失败...
CREATE TABLE `atDateTime` (
`avID` int(10) unsigned NOT NULL,
`value` datetime DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`avID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
已找到答案
1. MYSQL5.7+
许多答案说错误是因为 MySQL 5.7+ 不再接受空白日期,但是数据库正在从已经 运行ning MySQL 5.7.27 的服务器导出?
2。时区问题
其他答案表明这是时区差异,但服务器和本地 Mac 都是 运行ning NZDT。 MAMP Pro 似乎使用系统时区。
3。 QUERIOUS/SEQUAL 专业版
尝试了多个数据库应用程序,以防问题是特定于应用程序的,但两者都显示相同的错误。
问题
谁能解释确切的问题是什么(对设计者)以及如何在不改变数据库的情况下解决?
MySQL 5.7 默认不允许空白日期。
数据库在 MAMP Pro 中不起作用,因为 MySQL 默认启用严格模式。
数据库在实时服务器上工作,因为 MySQL 严格模式已被禁用。
解决方法是在 MAMP Pro 中禁用严格模式。
在 MAMP Pro 中禁用 MySQL 严格模式并允许空白日期:
- 关闭 MAMP Pro 服务器
- 转到文件 > 编辑模板> MySQL (my.conf) > MySQL 您正在使用的版本
- 在文件的前三分之一处,查找(带方括号)...
[mysqld]
- 在正下方,像这样添加 sql_mode=""...
[mysqld]
sql_mode=""
- 这将禁用严格模式并允许空白日期
- 保存文件并关闭
- 启动服务器
- 导入你的数据库
如果您不知道正确的搜索词; 'disable MySQL strict mode in MAMP Pro',你在荒野中徘徊了几个小时。希望这对其他设计师有帮助。
更多参考:https://mampsupportforum.com/forums/latest/mamp-mamp-pro-disable-mysql-strict-mode
作为设计师,我不懂MySQL,也没有能力修改数据库。放轻松!
造成错误
从服务器 运行ning MySQL 5.7.27[=14 导出了一个 Concrete5 数据库(在 php 7 上修改为 运行) =]
将数据库导入 MAMP Pro 5.5.1 运行ning MySQL 5.7.26 用于本地开发
像这样与时间相关的行导入失败...
CREATE TABLE `atDateTime` (
`avID` int(10) unsigned NOT NULL,
`value` datetime DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`avID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
已找到答案
1. MYSQL5.7+
许多答案说错误是因为 MySQL 5.7+ 不再接受空白日期,但是数据库正在从已经 运行ning MySQL 5.7.27 的服务器导出?
2。时区问题
其他答案表明这是时区差异,但服务器和本地 Mac 都是 运行ning NZDT。 MAMP Pro 似乎使用系统时区。
3。 QUERIOUS/SEQUAL 专业版
尝试了多个数据库应用程序,以防问题是特定于应用程序的,但两者都显示相同的错误。
问题
谁能解释确切的问题是什么(对设计者)以及如何在不改变数据库的情况下解决?
MySQL 5.7 默认不允许空白日期。
数据库在 MAMP Pro 中不起作用,因为 MySQL 默认启用严格模式。
数据库在实时服务器上工作,因为 MySQL 严格模式已被禁用。
解决方法是在 MAMP Pro 中禁用严格模式。
在 MAMP Pro 中禁用 MySQL 严格模式并允许空白日期:
- 关闭 MAMP Pro 服务器
- 转到文件 > 编辑模板> MySQL (my.conf) > MySQL 您正在使用的版本
- 在文件的前三分之一处,查找(带方括号)...
[mysqld]
- 在正下方,像这样添加 sql_mode=""...
[mysqld]
sql_mode=""
- 这将禁用严格模式并允许空白日期
- 保存文件并关闭
- 启动服务器
- 导入你的数据库
如果您不知道正确的搜索词; 'disable MySQL strict mode in MAMP Pro',你在荒野中徘徊了几个小时。希望这对其他设计师有帮助。
更多参考:https://mampsupportforum.com/forums/latest/mamp-mamp-pro-disable-mysql-strict-mode