gpt4 book ai didi

MySQL - 插入时触发 HOUR ('time')

转载 作者:行者123 更新时间:2023-11-29 12:43:50 24 4
gpt4 key购买 nike

我有一个包含字段“timeduration”的表。目前,当我选择“timeduration”值时,我正在执行 HOUR('timeduration') 来获取以小时为单位的时间。我想在将数据插入表时进行此计算,因此将小时值放入其自己的列中。

|  date    |  timeduration  |  hour
12-12-14 01:00:00 1

我已经研究过触发器,但不确定如何解决这个问题,或者我缺少更简单的方法吗?

感谢您的帮助!

最佳答案

是的,BEFORE INSERT 和 BEFORE UPDATE 触发器就可以做到这一点。这是让 MySQL 根据分配给 timeduration 列的值自动填充 hour 列中的值的唯一方法。

以下是 BEFORE INSERT 触发器的示例。

 DELIMITER $$

CREATE TRIGGER mytable_bi
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
SET NEW.hour = HOUR(NEW.timeduration);
END$$

DELIMITER ;

如果您希望在 UPDATE 语句修改 timeduration 值时保持 hour 同步,您可能还需要相应的 BEFORE UPDATE 触发器。

关于MySQL - 插入时触发 HOUR ('time'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25727838/

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