[Err] 23000 - [SQL Server] 唯一键创建,插入报错http://www.bieryun.com/3301.html
问题描述:创建唯一键是报错信息
[Err] 23000 - [SQL Server]
因为发现对象名称 'dbo.t_table' 和索引名称 'username' 有重复的键,
所以 CREATE UNIQUE INDEX 语句终止。
重复的键值为 (201104, <NULL>, 24)。
42000 - [SQL Server]无法创建约束。请参阅前面的错误消息。
01000 - [SQL Server]语句已终止。
问题处理:所设置的唯一键,需要先去除重复数据,才可以创建唯一键
为题描述:创建唯一键成功后,insert 一条与唯一键重复的数据 会报下面的错误
[Err] 23000 - [SQL Server]违反了 UNIQUE KEY 约束 'uni_1'。
不能在对象 'dbo.t_table' 中插入重复键。
01000 - [SQL Server]语句已终止。
唯一键分为主键(主键索引)和唯一索引(UNIQUE 索引),
意思就是在某一列中不能出现重复值,
但主键索引和唯一索引的区别是,主键索引不允许为空,
而唯一索引允许为空,其中空(null)是可以不唯一的。
设置方法分别如下:
创建主键索引:
alter table tablename add constraint 主键名 primary key(字段名);
创建唯一索引:
CREATE UNIQUE CLUSTERED INDEX myclumn_cindex ON mytable(mycolumn);