唯一索引失败

时间:2019-05-28 18:29:52

标签: mysql indexing unique-index

我为现有表的员工ID创建了唯一索引。我进行了测试,然后输入了已经保存在数据库中的员工ID,数据库仍然保存了它。当我在该ID上进行搜索时,它会列出两个记录。

通过插入具有重复员工ID的记录来测试索引

CREATE INDEX empid_index ON staff (empId)

预期出现错误的ID重复消息,但没有出现错误,记录仍被保存。

1 个答案:

答案 0 :(得分:0)

不创建唯一索引:在表中添加唯一约束。例如:

create table staff (
  ...
  constraint unique_empid unique (empid),
  ...
);

即使唯一索引将阻止您使用该值插入重复的行,但您将丢失约束的其他功能,例如导出外键,这些您以后可能需要。