gpt4 book ai didi

mysql - 触发MySql插入或更新

转载 作者:行者123 更新时间:2023-11-29 20:52:15 26 4
gpt4 key购买 nike

插入或更新表后我需要一个mysql触发器,我想添加到表通知(并在将来发送电子邮件通知)

触发器插入工作正常触发器更新有问题,如果我编辑“word”,他会正确插入,但如果我再次编辑...我收到错误,因为 e 尝试在表通知中插入相同的 id

    table_real
-------------
| id | word | news |
-------------
| 1 | this | this |
-------------
| 2 | that | this |
-------------
| 3 | this | this |
-------------

tablenotifications
---------------------
| id | word | news |
---------------------
| 1 | this | 2 |
---------------------
| 2 | that | 1 |


DELIMITER $$
CREATE
TRIGGER `trigger_insert` AFTER INSERT
ON `table_real`
FOR EACH ROW BEGIN
INSERT INTO tablenotifications(id, word, news) VALUES (new.id, new.word, new.news);

END$$

DELIMITER ;


DELIMITER $$
CREATE
TRIGGER `trigger_update` AFTER UPDATE
ON `table_real`
FOR EACH ROW BEGIN

INSERT INTO tablenotifications (id, word, news) VALUES (new.id, new.word, new.news);

END$$

DELIMITER ;

解决方案:编辑表,更改我的主键

最佳答案

引用表时,不是插入,而是更新与编辑的 id 对应的行。

DELIMITER $$
CREATE
TRIGGER `trigger_update` AFTER UPDATE
ON `table_real`
FOR EACH ROW BEGIN

UPDATE tablenotifications SET id=new.id, word=new.word, news=new.news;

END$$

关于mysql - 触发MySql插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37943207/

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