我每天只需在 Mysql 表上进行一次插入。
DELIMITER $$
CREATE TRIGGER trig
BEFORE INSERT ON Table
FOR EACH ROW BEGIN
/** compare the date with the latest inserted **/
IF () THEN
// if it's ok => insert
ELSE
// nothing
END IF;
END$$
DELIMITER ;
我想比较最后插入的日期和当前日期,然后启动触发器来完成工作。 谢谢
最佳答案
您可以通过创建 UNIQUE
来实现这一点,而无需触发器(这是一件好事,对吧?)对日期列进行约束,然后使用 INSERT IGNORE
语法。
假设您有一个具有以下架构的表
CREATE TABLE table1
(
date DATE,
value INT
);
让我们创建一个 UNIQUE 约束
CREATE UNIQUE INDEX idx_date_unique ON table1 (date);
现在您可以使用IGNORE
条款
INSERT IGNORE INTO table1 VALUES (CURDATE(), 1);
INSERT IGNORE INTO table1 VALUES (CURDATE(), 2);
INSERT IGNORE INTO table1 VALUES (CURDATE(), 3);
因此,每天表格中只有第一行。
这里是SQLFiddle 演示
关于Mysql触发器插入最后日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378368/