gpt4 book ai didi

mysql - 仅当在另一个字段中输入非 NULL 值时才更新时间戳

转载 作者:行者123 更新时间:2023-11-29 12:14:08 25 4
gpt4 key购买 nike

假设有一个包含以下字段的表:

ID (auto-increment, int, primary)
NAME (varchar 60)
LOC_LAT (float 8,6)
LOC_LONG (float 9,6)
LASTSEEN (timestamp)

我真的很喜欢时间戳数据类型,因为它通过将所有内容存储为 UTC 来减轻时区重新计算的负担。但是,每次表中任何位置发生更改时,它都会更新。我需要的是,仅当 LOC_LATLOC_LONG 字段更新为非 NULL 时,LASTSEEN 字段才使用新时间戳进行更新值(value)。是否可以?或者我必须诉诸日期时间?

这是我尝试过的,但它根本没有做任何事情:

DROP TRIGGER IF EXISTS `trigger_last_seen`;
CREATE DEFINER=`root`@`localhost` TRIGGER `trigger_last_seen`
BEFORE UPDATE ON `distilled` FOR EACH ROW IF (NEW.LOC_LAT != NULL OR NEW.LOC_LONG != NULL)
THEN SET NEW.LASTSEEN = current_timestamp();
END IF

上面的触发器什么都不做——甚至没有错误!

最佳答案

使用IS NOT NULL而不是!=

关于mysql - 仅当在另一个字段中输入非 NULL 值时才更新时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com