创建一个触发器,如果​​我在具有空外键的子表中插入一行,它会在父表中插入一个具有该条件和新 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 (将#修改为@)