gpt4 book ai didi

mysql - 触发 INSERT ON DUPLICATE KEY

转载 作者:可可西里 更新时间:2023-11-01 06:29:17 25 4
gpt4 key购买 nike

我有一个简单的问题。我有一个触发器将值插入另一个数据库

例如,如果有两个值,触发器正在检查 Table A 中的值并插入到 Table B

代码如下

-- Trigger DDL Statements
USE `db`;
DELIMITER //

CREATE
DEFINER=CURRENT_USER()
TRIGGER `db`.`AFTER_INSERT_A`
AFTER INSERT ON `db`.`a`
FOR EACH ROW
BEGIN

IF NEW.val!= NULL
THEN

UPDATE b SET dateRemove=CURRENT_TIMESTAMP WHERE val=NEW.val;

INSERT INTO b (val) VALUES(NEW.val) ON DUPLICATE KEY UPDATE dateRemove=NULL, dateUpdate=CURRENT_TIMESTAMP;

END IF;
END//

触发器甚至会抛出任何错误。我在 B 中没有值

我的插入是

INSERT INTO a (val) VALUES(`test`) ON DUPLICATE KEY UPDATE dateUpdate=CURRENT_TIMESTAMP

有没有人有任何想法。我尝试创建两个触发器,一个是 INSERT,另一个是 UPDATE,我已经将 AFTER 更改为 BEFORE 并且我的表 b 仍然一无所获。任何想法提前感谢

最佳答案

要在诸如

之类的查询上运行的触发器
INSERT INTO table (x, y, z) VALUES('x', 'y', 'z') ON DUPLICATE KEY UPDATE x=VALUES(x);

必须始终在 BEFORE INSERT 触发器上运行。

关于mysql - 触发 INSERT ON DUPLICATE KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162767/

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