当前位置: 首页 > news >正文

MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00‘ for column

使用navicat导入数据时报错:

MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00’ for column

这是因为当前的MySQL不支持datetime为0的情况。
MySQL报incorrect datetime value ‘0000-00-00 00:00:00’ for column错误原因,是由于在MySQL5.7版本以上,默认设置SQL_Mode模式,在模式里有NO_ZERO_DATE,NO_ZERO_IN_DATE,存在表示系统里DATE类型字段不能有0值,所以在执行操作时会报此错误。

解决方案

1、如果具备系统权限那么直接修改my.ini 配置文件,找到sql_mode行,修改为如下重启MySQL即可;如果没有sql_mode行,在my.ini的[mysqld]下添加如下重启MySQL即可:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

2、在没有系统权限,我们有本地库权限情况下如何处理,我们可以使用

SELECT @@sql_mode;

就可以查到当前系统的SQL_mode配置,发现配置里有NO_ZERO_DATE,NO_ZERO_IN_DATE,这时我们使用以下命令,临时设置SQLmode模式,它只对本次会话有效,如果系统刷新后就需要我们重新设置。

SET @@sql_mode = ‘STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER’;

3、还有办法,不需要更改系统的SQL_mode模式,可以修改表结构,即将表中的date/datetime字段临时修改为VarChar字段

ALTER TABLE mytemp CHANGE c10 c10 VARCHAR(100) NULL

这时进行数据更新,将‘0000-00-00’ 替换为正常的日期字符串,在使用ALTER 命令修改表字段,这时表中的字段会自动转为日期类型,字段中不能有非法字符,也可以在VarChar类型时将字段设为NULL再将字段改回日期类型。经过验证此方法不会丢失字段的值。这个方法对于系统影响最小,需要的系统权限也最小。

http://www.lryc.cn/news/228033.html

相关文章:

  • Jira Data Center(非集群)升级操作
  • Spring IOC - BeanDefinition解析
  • ds前后台博客系统
  • 算法leetcode|88. 合并两个有序数组(rust重拳出击)
  • GoLong的学习之路,进阶,语法之并发(并发错误处理)补充并发三部曲
  • 猪酒店房价采集
  • Java基础知识第四讲:Java 基础 - 深入理解泛型机制
  • ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败
  • split_train_val
  • Linux Mint 21.3 将搭载 Cinnamon 6.0 和实验性 Wayland 支持
  • 名师助阵龙讯旷腾PWmat+半导体缺陷培训暨半导体缺陷计算大赛
  • Kotlin与Java写法的变更
  • 京东数据软件系统:京东销量和销额数据在哪里看?
  • 美观且功能丰富的控制台:5个.Net开源项目
  • 深度学习模型基于Python+TensorFlow+Django的垃圾识别系统
  • ​ArcGIS Pro怎么生成山顶点
  • Anolis 8.6 安装 Drawio
  • AI图像生成模型LCMs: 四个步骤就能快速生成高质量图像的新方法
  • 成都瀚网科技有限公司抖音带货正规
  • php 8 注解的实际应用
  • 【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)
  • 相机突然断电,保存的DAT视频文件如何打开
  • [西湖论剑 2022]real_ez_node
  • 如何正确使用GPT工具
  • Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑
  • Paas-云管理
  • http-server安装使用
  • 【CSDN 每日一练 ★☆☆】【位运算】只出现一次的数字
  • Spring的注入
  • Linux-Docker的基础命令和部署code-server