mysql 导入数据error 1067(42000) Invalid default value for 'update'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 导入数据error 1067(42000) Invalid default value for 'update'相关的知识,希望对你有一定的参考价值。

问题描述:mysql导入数据时出现error 1067错误。

1 首先找到要出错行:CREATE TABLE `fct_sales` (

`updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘更新时间‘) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2 搜索datetime 与current_timestamp 的用法

3 修改datetime--timestamp 或者删除 default current_timestamp 

4 successful

原因:datetime 日期函数,只保存日期。适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。

timestamp 时间戳,记录最后修改的时间。 可以设置timestamp不自动更新,通过设置DEFAULT CURRENT_TIMESTAMP 可以实现。

timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。(如果需要可以设置timestamp不自动更新)

以上是关于mysql 导入数据error 1067(42000) Invalid default value for 'update'的主要内容,如果未能解决你的问题,请参考以下文章

mysql5.7和mysql5.6默认的sql_mode说明

mysql.connector.errors.ProgrammingError: 1064 (4200): 你的 SQL 语法有错误;

mysql-5.7.21版本一直报错ERROR 1067 (42000)!

关于mysql数据库中date time的错误问题(Error Code: 1067. Invalid default value for xxx)

启动mysql服务失败,错误码:1067.

mysql创建table时出错 ERROR 1067 (42000): Invalid default value for ' '