如何在雇员表中为记录分配唯一标识符
本文关键字:记录 分配 唯一 标识符 | 更新日期: 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服务器唯一索引"。