Navicat在MySQL数据库间传输数据,datetime类型字段设置默认值current_timestamp,引发 Invalid default value for 错误

背景:

使用Navicat10的 “数据传输” 工具,将MySQL5.6 DB中的数据传输到MySQL5.7 DB中,报错如下图:

Navicat在MySQL数据库间传输数据,datetime类型字段设置默认值current_timestamp,引发 Invalid default value for 错误

查看建表语句,发现datetime类型字段endtime的默认值用到了CURRENT_TIMESTAMP

Navicat在MySQL数据库间传输数据,datetime类型字段设置默认值current_timestamp,引发 Invalid default value for 错误

上述语句单独在查询窗口执行,正常。经分析和尝试,发现需要在“数据传输”窗口的“高级”选项卡中,勾选

SHOW CREATE TABLE 中的 DDL 

如下图:

Navicat在MySQL数据库间传输数据,datetime类型字段设置默认值current_timestamp,引发 Invalid default value for 错误

勾选之后再执行数据传输 -- OK了!