我在表中设置了外键完整性。但我能够从主表中删除数据,这是子表中的引用。 会有什么问题 实际上它应该说删除错误就像所有引用的表数据一样必须删除。
答案 0 :(得分:1)
mysql不要为你做,
您需要在删除操作上声明触发器
删除前触发示例:
http://www.java2s.com/Code/Oracle/Trigger/Createabeforedeletetrigger.htm
答案 1 :(得分:1)
您是否指定了 ON DELETE CASCADE ?当你创建你的FK?不知道你使用的是哪种引擎
例如
CREATE TABLE parent (id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) ENGINE=INNODB;
更多http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html