微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建一个触发器,如果​​我在具有空外键的子表中插入一行,它会在父表中插入一个具有该条件和新 id 的新行

如何解决创建一个触发器,如果​​我在具有空外键的子表中插入一行,它会在父表中插入一个具有该条件和新 id 的新行

这是因子表:

CREATE TABLE `factors` (
  `id` int(11) NOT NULL AUTO_INCREMENT,`price_sum` int(11) NOT NULL,`date` datetime DEFAULT NULL,PRIMARY KEY (`id`))

这是子因素表:

CREATE TABLE `subfactors` (
  `id` int(11) NOT NULL AUTO_INCREMENT,`price` int(11) NOT NULL,`factor_id` int(11) NOT NULL,PRIMARY KEY (`id`),FOREIGN KEY subfactors(`factor_id`) REFERENCES factors(`id`))

我试过这个查询,但它说我不能在子表中插入一行:

DELIMITER //
CREATE TRIGGER my_trigger AFTER INSERT
ON subfactors FOR EACH ROW
BEGIN
    IF NEW.factor_id=NULL THEN 
        INSERT INTO factor(id,price_sum) 
        VALUES(NEW.factor_id,NEW.price);
    END IF;
END //

错误代码:1452。无法添加或更新子行:外键约束失败

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。