首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在mysql中建立外键约束

问无法在mysql中建立外键约束
EN

Stack Overflow用户
提问于 2014-07-22 14:03:13
回答 1查看 68关注 0票数 0

我无法在mysql中建立外键约束。Mysql版本: 5.0

我使用过的查询是:

代码语言:javascript
复制
create table department (
 deptid varchar(10),
 primary key (deptid),
 name varchar(20)
);


create table employee (
  empid varchar(10),
  primary key (empid),
  name varchar(20),
  age int,
  deptid varchar(10),
  foreign key (deptid) references department (deptid)
);

我仍然可以用部门id添加员工,而部门表中没有这个id。

谢谢。

编辑:我更改了我的表的引擎,但是这个约束仍然不起作用。我使用以下查询更改了引擎: alter部门engine=InnoDB;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 14:53:05

正如mmarinero建议的那样,外键约束不适用于MyISAM引擎。我使用以下查询检查了我的表的引擎:

显示表格状态;

它显示了我的桌子的MyISAM引擎。

我删除了我的表并使用以下查询重新创建了它们:

创建表部(deptid (10),主键(deptid),name varchar(20)) engine=InnoDB; 创建表employee (empid varchar(10)、主键(empid)、name varchar(20)、age int、deptid varchar(10)、外键(deptid) references (deptid)) engine=InnoDB;

现在我的国外限制开始起作用了。

谢谢你,小姐。

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

https://stackoverflow.com/questions/24889540

复制
相关文章

相似问题

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