我无法在mysql中建立外键约束。Mysql版本: 5.0
我使用过的查询是:
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;
发布于 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;
现在我的国外限制开始起作用了。
谢谢你,小姐。
https://stackoverflow.com/questions/24889540
复制相似问题