我必须在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 ;
我想比较最后插入的日期和当前日期,然后启动触发器来完成工作。 感谢
答案 0 :(得分:0)
你可以通过在日期列上创建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 演示