这与MySQL错误时区有关吗? `value` datetime DEFAULT'0000-00-00 00:00:00',

问题描述 投票:0回答:1

NOTE!请不要将其标记为“已回答”,对于所发现的任何答案,我都无法理解。


技能水平

一个设计师,所以不了解MySQL,没有能力更改数据库,并且花了4个小时以上的时间来理解这一点。


创建错误

  1. 从运行MySQL 5.7.27的服务器中导出了Concrete5 db(修改后可以在php 7上运行)>

  2. 将数据库导入运行MySQL 5.7.26的MAMP Pro 5.5.1,以进行本地开发

  3. 导入错误与时间相关,就像这样...

  4. Querious Import Error

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

检查实时服务器

实时服务器上的atDateTime表和所有日期字段均显示为空白,这是屏幕截图...

atDateTime


找到答案

1。 MYSQL 5.7 +

[许多答案都说错误是因为MySQL 5.7+不再接受空白日期,而是从已经在运行MySQL 5.7.27的服务器中导出数据库?

2。时区问题

[其他答案表明这是时区差异,但是服务器和本地Mac都在运行NZDT。 MAMP Pro似乎使用系统时区。

3。 QUERYOUS / SEQUAL PRO

尝试了多个数据库应用程序,以防特定于应用程序的问题出现,但都显示相同的错误。


问题

1。谁能向设计师解释确切的问题?

2。可以在不更改数据库的情况下解决此问题吗?我拉动现场站点,在本地进行更改/测试,然后推回服务器,因此需要一个我不更改数据库的工作流(这是灾难的秘诀)。

3。是否可以将运行MySQL 5.7+的服务器修改为运行带有空白日期的数据库,这就是为什么它已经在5.7+服务器上运行的原因?如果是这样,可以更改MAMP Pro(轻松)以做到相同吗?

注意!请不要将其标记为“已回答”,我无法理解对不起的任何答案。技能水平设计师,所以不了解MySQL,没有能力更改数据库,并且具有...

mysql timestamp mamp concrete5 sql-timestamp
1个回答
0
投票

MySQL 5.7不允许空白日期,但是在实时服务器上关闭了MySQL严格模式,这就是数据库在实时站点上工作的原因。但是,默认情况下,MAMP Pro中严格模式是打开的,这就是为什么导入在本地失败的原因。

© www.soinside.com 2019 - 2024. All rights reserved.