MySQL:使用触发器用time.now更新表

时间:2013-12-21 12:45:07

标签: mysql triggers

我有一个MySQL表,它以2013-12-21 12:15:00的格式存储日期/时间列表。当系统时间等于存储在db中的时间时,我想写一个触发器来更新另一列(从false到true)。一旦时间,触发器不会改变状态。现在比当前系统时间更大。

我从未使用过触发器,但我尝试编写以下代码,但它不起作用。如果有人愿意指出我的方向会很好。

CREATE
TRIGGER `update_time` AFTER INSERT 
ON `time_table` 
FOR EACH ROW BEGIN

    IF time_table.start_time = time.now THEN SET time_table.state = True;
END

1 个答案:

答案 0 :(得分:0)

您实际上需要在桌面上使用BEFORE触发器。

以下内容应该有效。

DELIMITER $$

CREATE TRIGGER `update_time` BEFORE INSERT ON `time_table` 
FOR EACH ROW BEGIN
    IF NEW.start_time = NOW() THEN SET NEW.state = True;  
END;

$$

DELIMITER ;