mysql current_time_mysql数据库时间字段CURRENT_TIME问题

###一、背景

进入产品迭代阶段,修改数据库字段是难免的。除了我们能够想到的,新增字段,一定要设置为“允许为空”或者设置“默认值”,当涉及到mysql的时间字段时,也要格外小心。

下面是报错:

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp Query

###二、分析问题

这是一个数据库表的create_time字段,出现值:'0000-00-00 00:00:00'。

查看了数据库,最新记录create_time字段时间都是正确的,某个时间之前的记录create_time字段时间都是'0000-00-00 00:00:00'。

先更新错误的历史记录字段值。

这个问题之前也碰到过,看来这个坑很容易出现了。

###三、 重现问题

新建一个表

CREATE TABLE `a` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入两条数据

INSERT INTO a(id, name) VALUES(1, "张三");

INSERT INTO a(id, name) VALUES(2, "李四");


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部