mysql记录修改时间自己改变

2023年 8月 6日 60.5k 0

MySQL是目前业界最流行的关系型数据库管理系统,其提供了一些非常有用的功能,比如记录修改时间。在有些场景下,我们需要记录每条记录的修改时间,这样可以方便我们追踪数据变化、排查异常等问题。但是有时候,我们会发现记录修改时间自己会改变,这种情况下我们该如何处理呢?

如下为记录修改时间的简单代码示例:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在这个表中,我们定义了一个update_time字段,该字段会自动记录每条记录的修改时间。但是,我们会发现有时候修改数据的时候,该字段的值会自己改变,这个问题该如何解决呢?

mysql记录修改时间自己改变

解决方法如下:

我们可以在MySQL的配置文件中加入以下代码:
[mysqld]
innodb_autoinc_lock_mode=2
这个参数可以让MySQL在生成新的自增ID的时候,不会阻塞其他事务对表的访问。对于记录修改时间自己改变的问题,加入该配置项之后,我们再次修改数据,就可以发现update_time字段的值不再改变了。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论