gpt4 book ai didi

Mysql触发器插入最后日期

转载 作者:行者123 更新时间:2023-11-30 00:45:39 26 4
gpt4 key购买 nike

我每天只需在 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/

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