我有一个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
答案 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 ;