前言
关于高版本数据库导入到低版本数据库的一些注意事项,因为之前是5.8的数据库,现在我在低位版本数据库创造数据,在更新时间和创造时间的方面遇到了问题,琢磨捣鼓了好久,浪费了好多时间,最后我得出了血泪的教训。
一、问题的出现
在高位版本中
create_time
DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time
DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘修改时间’
时间通过DATETIME类型加CURRENT_TIMESTAMP来进行确定,而低位版本会出现很多不支持,并没有相应的修改,所以会频繁的报错,而且相应功能会缺失
二、解决办法
如何解决
代码如下(示例):
面对这种情况,很简单,我们利用mysql5.5数据不能为空的特性,利用这一点我们就可以做到创建时间与修改时间的同步更新,首先改动数据库
`create_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
然后插入数据时让属性create_time这一行为NULL空,但因为数据库规定了不能为空,所以就可以达到自动更新的效果,这样就可以了。
效果展示
注意最后的create_time我在这里设置了为空,然后进行传参,数据库就可以实现自动更新,这就是高版本数据库到低版本的应用,记录一下避免自己踩坑。