首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB 5.5.36忽略外键约束级联

问MariaDB 5.5.36忽略外键约束级联
EN

Stack Overflow用户
提问于 2014-05-15 09:40:50
回答 1查看 640关注 0票数 0

我在mysqldump 5.5.36中遇到了一个问题,其中没有强制执行外键约束,也没有使用MariaDB导出外键约束。我的进一步调查显示,这些键在"SHOW CREATE TABLE“中没有显示,甚至没有强制执行。我确信我的DDL出了什么问题,但是找不出来。

我使用常规的mysql CLI测试了以下内容。

DDL:

代码语言:javascript
复制
create table parent(id bigint auto_increment not null, 
name varchar(32), 
primary key (id));

create table child(id bigint auto_increment not null, 
parent_id bigint, name varchar(32), 
primary key (id), 
foreign key fk_parent_id (parent_id) references parent(id) ON DELETE CASCADE);

DML:

代码语言:javascript
复制
insert into parent(name) values('P1');
insert into child(parent_id, name) values(1, 'C1');
DELETE from parent;
DROP table parent;

我预计DELETE或DROP语句会导致错误,但它没有,并且子表仍然包含一行。此外,在本测试中,mysqldump或"show create table child“都没有显示外键"ON DELETE CASCADE”部分。

对此有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-05-15 10:21:28

正如Michael Berkowski所指出的,问题出在MyISAM存储引擎上。将其更改为InnoDB解决了此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23667908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档