嗨,伙计们,我只是在父表中创建父表的外键引用。当我尝试删除父表中的引用的父表中的行时,令人惊讶的是它允许我删除它。我试图通过在删除限制上写作,并且也没有它,但没有任何帮助,极力创建子表。任何想法为什么发生这种情况? .Below是我在创建表格时使用的代码。Mysql外键约束不起作用
CREATE TABLE region
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL
);
CREATE TABLE aggregator
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL
);
CREATE TABLE gateway
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL,
region_id int ,
aggregator_id int ,
is_public boolean DEFAULT 0 NOT NULL,
FOREIGN KEY (region_id) REFERENCES region(id),
FOREIGN KEY (aggregator_id) REFERENCES aggregator(id)
);
你确定子表中有一行引用刚删除的父行吗? – zerkms 2012-07-10 04:07:10
是的,我确定它 – 2012-07-10 04:11:36