如何创建唯一索引

如何创建唯一索引,第1张

例如,如果计划频繁查询 employee 表中(其中主键为 emp_id)的身份z号码键衫 (ssn)列,并希望确保身份z号码是唯一的,则可以在 ssn 上创建唯一索引。如果稿仔腔用户为一个以上的雇员输入相同的身份z号码,则数据库将显示错误而且无法保存该表。在创建或修改唯一索引时,可以可设置一个忽略重复键的选项。如果此选项已设置为“是”,当您试图通过添加影响多行的数据来创建重复键(使用 INSERT 语句)时,则不会添加包含重复项的行;如果此选项设置为“否”,则整个插入 *** 作将失败,并且将回滚所有数据。 创建唯一索引 在对象资源管理器中,右键单击表,再单击“设计”。此时,将在表设计器中打开该表。在表设计器菜单上,单击“索引/键”。单击“添加”。“选定的主/唯一键或索引”列表将显示新索引的系统分配名称。在网格中,单击“类型”。从属性右侧的下拉列表中选择“索引”。在“列”下,选择要编制索引的列。最多可选择戚历 16 列。为获得最佳的性能,请只为每个索引选择一列或两列。对于所选的每一列,指定索引是以升序还是以降序来排列此列的值。在网格中,单击“是唯一的”。从属性右侧的下拉列表中选择“是”。如果希望忽略会在唯一索引中创建重复键(用 INSERT 语句)的数据,请选择“忽略重复键”选项并选择“是”。在保存表或关系图时将在数据库中创建该索引。注意:如果单个列在多行中包含 NULL,则无法对该列创建唯一索引。同样,如果列的组合在多行中包含 NULL,则无法对多个列创建唯一索引。在进行索引时,它们都被视为重复值。

create

unique

index

index_name

on

--创建唯一索引

索引名

table_name

(

column_name[,column_name...]

)

--表(列1[列2。段扰罩悄。。(可选握闷旦)])

[tablesapce

tab_space]

--

索引存放的表空间(可选)

大写的是关键字,小写的是需要修改地方。

主键必知兆须保持数据的唯一性,如果你的重复记录能够删除,执行

select a from table group by a having count(a)>1

select * from table where a is null

把重复的改数值选出删除,

执行

alter table tab_a add constraint pk_tab_a primary key(col1)

注意primary key 会自动建立一个索引,所在的表空搭歼租间同表的表空间在一起,注意你的

表空间的大小!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11988306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存