gpt4 book ai didi

插入触发后Mysql插入第一行两次

转载 作者:行者123 更新时间:2023-11-29 22:05:47 26 4
gpt4 key购买 nike

我正在使用mysql工作台。我有两个表“new_machine”(父表)和“machine_record”(子表)。我正在使用插入触发器将 m_id 和 m_name 从 new_machine 表插入到 machine_record 表中的 mac_id 和 mac_name。

m_id 是 new_machine 的主键。new_machine 表中的 m_id 和 m_name 是 machine_record 表中 mac_id 和 mac_name 的外键。

当我在 new_machine 中插入数据时,它会填充到 machine_record 中,但输入的第一条记录会输入两次。

CREATE DEFINER=`root`@`localhost` TRIGGER `system_data`.`new_machine_AFTER_INSERT` AFTER INSERT ON `new_machine` FOR EACH ROW
BEGIN
insert into `system_data`.`machine_record` (mac_id, mac_name)
select m_id, m_name
from `system_data`.`new_machine`;
END

最佳答案

您可以直接在 new_machines 上使用插入中的值。所以没有必要通过 SELECT 来获取它。还有你的SELECT 选择 new_machines 中的所有记录。

CREATE DEFINER=`root`@`localhost` TRIGGER `system_data`.`new_machine_AFTER_INSERT` AFTER INSERT ON `new_machine` FOR EACH ROW
BEGIN
insert into `system_data`.`machine_record` (mac_id, mac_name)
VALUES (NEW.m_id, NEW.m_name);
END

关于插入触发后Mysql插入第一行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32163772/

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