首页 文章

Mysql无法添加或更新子行,外键约束失败ON DELETE NO ACTION ON UPDATE NO ACTION

提问于
浏览
0

我有'父母'和'孩子'表 . 'child'表中有一列'parent_id',它是一个外键 . 'parent'表中的'id'列是NOT NULL和INT . 'parent_id'也是INT但DEFAULT为NULL . 因此,当我使用NULL'parent_id'向'child'添加新行时,我收到一条错误消息:

无法添加或更新子行:外键约束失败(db.child,CONSTRAINT child_ibfk_1 FOREIGN KEY(parent_id)REFERENCES parent(id)ON DELETE NO ACTION ON UPDATE NO ACTION)

CREATE DATABASE db;
USE db;

CREATE TABLE parent (id INT NOT NULL,
                     PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE child (id INT NULL, 
                    parent_id INT NULL DEFAULT NULL,
                    CONSTRAINT child_ibfk_1 FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=INNODB;


INSERT INTO child (id, parent_id) VALUES (1, NULL);

1 回答

  • 1

    解决了 . 问题出在我使用的PHP代码中 . 在sql语句中没有问题 . 感谢大家!

相关问题