用MYSQL建约束时出现error121

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:13:00
我想建约束
A中字段-->B中字段是多对一
C中字段-->A中字段是多对一
第一个约束建好后再建第二个时就出现了ERROR121
怎么回事 是一个表不能建两个约束么?
那我的这种关系得怎么实现?
分另加10分

假设是公司,部门,员工三个表
--公司
CREATE TABLE `tablea` (
`comId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`comName` varchar(45) NOT NULL,
PRIMARY KEY (`comId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

--部门
CREATE TABLE `tableb` (
`DepartId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`DepartName` varchar(45) NOT NULL,
`comId` int(10) unsigned NOT NULL,
PRIMARY KEY (`DepartId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

--员工
CREATE TABLE `tablec` (
`WorkId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`WorkName` varchar(45) NOT NULL,
`DepartId` int(10) unsigned NOT NULL,
PRIMARY KEY (`WorkId`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

--员工表的部门Id(DepartId)与部门表中建立外键关系
ALTER TABLE `tablec` ADD CONSTRAINT `FK_tablec_tableb` FOREIGN KEY `FK_tablec_tableb` (`DepartId`)
REFERENCES `tableb` (`DepartId`);

--部门表的公司Id(comId)与公司表中建立外键关系
ALTER TABLE `ta