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

修改 MySQL update_time 默认值的坑

由于按规范需要对 update_time 字段需要对它做默认值的设置
现在有一个原始的表是这样的
CREATE TABLE `test_up` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`update_time` datetime default null COMMENT '操作时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

表里的数据 update_time 字段真的有 NULL 的情况

由于按规范需要对 update_time 字段需要对它做默认值的设置。

操作步骤是这样的:
  1. 复制一个表出来,表结构如下:

CREATE TABLE `test_up2` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '操作时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
  1. 复制数据
insert into test_up2 select * from test_up;
  1. 看结果
    update_time 字段 NULL 的就成了 0000-00-00 00:00:00
    这会导致程序出错。
    在这里插入图片描述
所以这么操作有一定坑,一定要注意,可以在操作把原数据空数据不全,避免线上问题。
http://www.lryc.cn/news/318428.html

相关文章:

  • 基于亚马逊云EC2+Docker搭建nextcloud私有化云盘
  • 用try...catch进行判断
  • 服务器遭遇挖矿病毒syst3md及其伪装者rcu-sched:原因、症状与解决方案
  • 此机非彼机,工业计算机在工业行业的特殊地位
  • Python使用lxml解析XML格式化数据
  • CDA-LevelⅡ【考题整理-带答案】
  • 20240304 json可以包含复杂数组(数组里面套数组)
  • 算法50:动态规划专练(力扣514题:自由之路-----4种写法)
  • 重学SpringBoot3-集成Thymeleaf
  • 【数据可视化】Echarts最常用图表
  • flink:通过table api把文件中读取的数据写入MySQL
  • 【Java 多线程 哈希表】 HashTable, HashMap, ConcurrentHashMap 之间的区别
  • 有趣之matlab-烟花
  • C语言指针与数组(不适合初学者版):一篇文章带你深入了解指针与数组!
  • springboot Mongo大数据查询优化方案
  • Ollama管理本地开源大模型,用Open WebUI访问Ollama接口
  • Linux--基本知识入门
  • 基于springboot+vue实现的大学计算机课程管理平台的设计与实现(全套资料)
  • LeetCode2115. 从给定原材料中找到所有可以做出的菜
  • 项目性能优化—性能优化的指标、目标
  • 蓝桥杯刷题(三)
  • 20240312-算法复习打卡day21||● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先
  • 今天我们来学习一下关于MySQL数据库
  • 长期护理保险可改善老年人心理健康 | CHARLS CLHLS CFPS 公共数据库周报(3.6)...
  • 49、C++/友元、常成员函数和常对象、运算符重载学习20240314
  • SQL Server错误:15404
  • Halcon文件操作
  • 【测试知识】业务面试问答突击版1
  • 使用el-row及el-col页面缩放时出现空行解决方案
  • java中几种对象存储(文件存储)中间件的介绍