创建表上的MySQL重复键?

时间:2016-05-01 05:05:27

标签: mysql

这是我在MySQL上创建表的SQL语句,但我收到警告说有重复的密钥(我找不到任何重复的文件?!

CREATE TABLE EmployeeSkill (
  empId Integer NOT NULL,
  skillId Integer NOT NULL,
  skillLevel Integer NULL,
  CONSTRAINT empSkillPk PRIMARY KEY(empId, skillId),
  CONSTRAINT empFk FOREIGN KEY(empId) REFERENCES Employee(empId),
  CONSTRAINT skillFk FOREIGN KEY(skillId) REFERENCES Skill(skillId)
)

不知道为什么......任何人都有任何线索?!

2 个答案:

答案 0 :(得分:0)

表格中有主键:PRIMARY KEY(empId, skillId)。此错误表示表中已存在插入empIdskillId的组合。你可以检查一下

SELECT *
FROM EmployeeSkill
WHERE empId = @insertEmpId AND skillId = @insertSkillId

答案 1 :(得分:0)

我找到了! 我在我的数据库中使用以下语句

select *
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where CONSTRAINT_TYPE = 'FOREIGN KEY'

我发现其他表占用了外键。只需简单地使用其他外键,就行了。