博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

原文: MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1-阿里云开发者社区 (aliyun.com)

简介: MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘FrozenTime‘ at row 1

问题:

用 navicat 导入数据时,报错:

[Err] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'FrozenTime' at row 1

原因:

这是因为当前的 MySQL 不支持 datetime 为 0 的情况。

解决:

sql_mode : 定义了 MySQL 应支持的 SQL语法、数据校验 等,

这样可以更容易地在不同的环境中使用 MySQL。查看全局 sql_mode:

select @@global.sql_mode;

可以看到,NO_ZERO_DATE、NO_ZERO_IN_DATE,把这两个设置去掉。

修改全局sql_mode:

set @@global.sql_mode = 
'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

查看当前 sql_mode:

select @@sql_mode;

修改当前 sql_mode:

set @@sql_mode = 
'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

OK,问题解决。

一旦 MySQL 重启,就必须重新设置一次 全局 和 当前的 sql_mode。

修改sql_mode配置:

在 MySQL 配置文件 mysql.ini 中修改 sql_mode 配置,就不需要每次重启 MySQL 就得重新设置 sql_mode 了。

  • 关闭MySQL
net stop MySQL57
  • 修改MySQL配置, 在 my.ini 的 [mysqld] 下添加:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 启动MySQL
net start MySQL57

 END!

posted @   CHANG_09  阅读(1664)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示