java - 如何让 mysql 在每次修改行操作时自动将列更新为当前时间戳?

标签 java mysql

我的 mysql 表中有 2 列:created_on 和 modified_on。我已将 created_on 列的默认值设置为 CURRENT_TIMESTAMP。因此,在表中的每个插入操作中,created_on 列正确地将值设置为当前时间戳。但是我希望当我更新同一行时,'modified_on' 列在更新时将值更新为时间戳。如果我知道,请告诉我使用任何函数/触发器来执行此操作,或者是否有相同的内置 mysql 功能

最佳答案

尝试使用 ON UPDATE 关键字更改您的表,例如:

ALTER TABLE `tableName` 
CHANGE `modified_on` `modified_on` TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP;

或者您可以在插入时添加默认值,例如:

ALTER TABLE `tableName` 
CHANGE `modified_on` `modified_on` TIMESTAMP 
ON UPDATE CURRENT_TIMESTAMP
NOT NULL DEFAULT CURRENT_TIMESTAMP ;

您还可以在创建表时将 ON UPDATE 定义为时间戳数据类型。

关于java - 如何让 mysql 在每次修改行操作时自动将列更新为当前时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024583/

相关文章:

java - 从 Python 调用 Java 代码的最佳方式是什么?

java - 从 Ebean 中用户定义的数字开始 ID 值,Play-framework 2.5.4 java

php - INNER join 返回不返回总结果

php - 无法使用 jQuery 将文本字段值发送到 PHP 文件

java - NetBeans GUI 应用程序在我尝试运行时一直卡住

java - 加载 native 库的单元测试 Java 类

java - 使用 Java 中的模式和匹配器搜索字符串中的元素

java - hibernate 。在类型上找不到属性

MySQL - 按多个类别(多行......)更快地搜索产品?

mysql - 具有多个重复项的 SQL 表连接 - 返回日期范围内小于 X 的计数