update操作update_time没有自动更新的的问题

  • 数据库中update_time的字段设置为:

    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    
  • 在mysql中, 如果类型为时间的列设置了CURRENT_TIMESTAMP, 那么在insert一条新记录的收, 时间字段自动获取到当前时间, 如果设置了ON UPDATE CURRENT_TIMESTAMP, 则时间字段随着update命令的更新和实时变化。 如果两个属性都设置了, 那么时间字段默认为当前时间, 且随着记录的更新而自动变化

  • 当执行update时,当要更新的数据与数据库中原有的数据一样的话,datetime是不会跟着变的;

    例如:执行如下sql

    update xxx set update_user_id = 'AA160615032543915925' where id = 1
    

    首先我们记录下sql执行前的datetime时间:

    1539692402(1).jpg

​ 执行上边的sql,发现datetime并没有变化,当执行如下sql的时候,

update xxx set update_user_id = 'AA160615032543915926' where id = 1

​ 这时datetime变更了,如下:

1539692810(1).jpg

说明当update操作时,如果更新的数据没有实际变更,update_time是不会跟着变的

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容