如何在雇员表中为记录分配唯一标识符

本文关键字:记录 分配 唯一 标识符 | 更新日期: 2023-09-27 18:03:48

我知道这是第一个性病问题,但有人问我,但我无法给他适当的答案。有两个表Employee,Technology有多对多关系保存在employee_technology_rel中。雇员表有字段- emp_id (auto_increment), emp_name(varchar), DOB (date),其中技术有字段tech_id(auto_increment), tech_name(varchar)这两个表允许名称重复。为了允许唯一条目,我应该定义哪个唯一约束?

如何在雇员表中为记录分配唯一标识符

您可以在表employee_technology_rel上定义唯一条目,

ALTER TABLE employee_technology_rel 
       ADD CONSTRAINT emptech_pk PRIMARY KEY (emp_id, tech_id)
// or if you have set a primary key already, you can still define via UNIQUE
ALTER TABLE employee_technology_rel 
       ADD CONSTRAINT emptech_uq UNIQUE (emp_id, tech_id)

它所做的是只允许每个员工使用独特的技术

为了在表Employee上拥有唯一的emp_name以及在表Technology上拥有唯一的tech_name,您还可以通过添加唯一约束

来修改表。
ALTER TABLE Employee ADD CONSTRAINT emp_uq UNIQUE (emp_name)
ALTER TABLE Technology ADD CONSTRAINT tech_uq UNIQUE (tech_name)

您需要在employee_technology_rel中的两个列上定义一个复合主键:emp_id和tech_id。

唯一索引和唯一约束是相同的。他们实现了相同的目标的目标。SQL性能是一样的

添加唯一约束修改表dbo。添加约束唯一的非群集()[主要]

添加唯一索引创建唯一的非聚集索引dbo。() on[主要]

来源sqlauthority.com和msdn从谷歌搜索:"SQL服务器唯一索引"。