mysql - 错误 1215 (HY000) : Cannot add foreign key constraint in mysql

标签 mysql spring hibernate-annotations

您好,我正在 mysql 中创建两个表以在 Spring Hibernate 中进行单向映射,但我收到错误错误 1215 (HY000): 无法添加外键约束

这是我的第一张 table

CREATE TABLE `Employee` (  `empId` int(11) NOT NULL,  
`empName` varchar(255) DEFAULT NULL,  `empExp` int(11) NOT NULL, 
`empTeam` varchar(255) DEFAULT NULL,  `teamId` int(11) DEFAULT NULL);

第二个表

CREATE TABLE `EmpTeam` (  `teamId` int(11) NOT NULL, 
`teamName` varchar(255) DEFAULT     NULL, PRIMARY KEY (`teamId`)  ,
 KEY `FK1` (`teamId`), CONSTRAINT `FK1` FOREIGN KEY (`teamId`) 
 REFERENCES `Employee`   (`empId`));

请帮忙,先谢谢了

最佳答案

试试这个

  CREATE TABLE `EmpTeam` (  `teamId` int(11) NOT NULL, 
                            `teamName` varchar(255) DEFAULT     NULL,
                             PRIMARY KEY (`teamId`)  ,
                             CONSTRAINT `FK1` FOREIGN KEY (`teamId`) 
                             REFERENCES `Employee`   (`empId`));

如果您已有此 FK1,请将其删除并重新创建:

   alter table `EmpTeam` drop foreign key `FK1`

编辑:

您还必须在 Employee 表中添加主键。它应该可以工作。

改变这个

   CREATE TABLE `Employee` (  `empId` int(11) NOT NULL ,

   CREATE TABLE `Employee` (  `empId` int(11) NOT NULL  PRIMARY KEY ,

关于mysql - 错误 1215 (HY000) : Cannot add foreign key constraint in mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24425636/

相关文章:

mysql - 如何使用 Mysql 过滤时间戳格式?

spring - 如何将表单数据发送到 Controller

java - 如何在 hibernate 中使用复合 PK 为 JOINED 继承设置注释?

java - 在 DB2 上使用其他模式的 Hibernate 多对一

java - 使用除 SINGLE_TABLE 之外的任何其他 Hibernate 继承策略时 JVM 崩溃

php - 按字母顺序排列 mysql 查询

php - 我被困在 mysql 中的一个查询上

PHP 代码未提交到 mysql 数据库

java - RabbitMQ、docker、单队列、多个消费者

java - 随机获取 JDBCConnectionException