我在MySQL中有一个表,其中有4个字段,如id、name、gender和timestamp。
时间戳的默认值是CURRENT_TIMESTAMP,因此如果名称或性别发生变化,则时间戳更新到当前日期和时间。
我想将性别字段排除在更新时间戳之外。
这有可能吗?
发布于 2019-09-24 17:22:05
我会使用一个MySQL触发器来完成这个任务。您没有提供表名,所以我会给您的表人打电话。
触发器应该如下所示:
delimiter ;;
DROP TRIGGER IF EXISTS `TRIGGER_PERSON_AFTER_UPDATE`;;
CREATE TRIGGER `TRIGGER_PERSON_AFTER_UPDATE` AFTER UPDATE ON PERSON
FOR EACH ROW
BEGIN
IF (NEW.name != OLD.name) THEN
NEW.time_stamp = CURRENT_TIMESTAMP;
END IF;
END;;
delimiter ;发布于 2019-09-24 17:12:05
在更新timestamp时,必须为gender指定相同的值。我假设,如果您与gender一起更改其他字段,那么时间戳应该会更新。
UPDATE my_table SET gender = ?, `timestamp`=`timestamp`https://stackoverflow.com/questions/58084970
复制相似问题