猿问

如何正确实现数据表插入时间和更新时间的设计?

在使用eloquent时,通过官方文档看到可以自定义插入字段和更新字段名,附链接https://laravel-china.org/doc...
接下来先给出数据表的设计:

CREATE TABLE `plans`(  `id` int(11) NOT NULL AUTO_INCREMENT,  `user_id` int(11) NOT NULL,  `title` varchar(100) NOT NULL,  `content` mediumtext,  `status` tinyint(1) NOT NULL DEFAULT 0,  `create_time` TIMESTAMP,  `update_time` TIMESTAMP,
  PRIMARY KEY(id),
  FOREIGN KEY(user_id) REFERENCES users(id)
)ENGINE=INNODB;

因为我使用的是mysql5.6版本,所以支持设置两个timestamp类型,但是这样设置后,创建时两个时间相同我理解,但是在我更新数据后,两个字段还是相同的更新后的时间,我特别不能理解,然后我试了一段时间,弃用了这种方式,于是我使用了原生语句,在更新时,同时更新update_time为当前时间,但是发现create_time同样也是进行了更新,还是两个时间段能相同,我想问在不改变数据表字段类型的前提下有没有好的方法,因为我做的小项目都快完了,才发现这个问题,想找到一个好的解决办法


翻翻过去那场雪
浏览 618回答 1
1回答

拉莫斯之舞

create_time的CURRENT_TIMESTAMPS去掉,update_time加上,创建数据的时候手动赋值创建时间
随时随地看视频慕课网APP
我要回答