[Err] 23000 - [SQL Server] 唯一键创建,插入报错

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: [Err] 23000 - [SQL Server] 唯一键创建,插入报错http://www.bieryun.com/3301.html 问题描述:创建唯一键是报错信息 [Err] 23000 - [SQL Server] 因为发现对象名称 'dbo.t_table' 和索引名称 'username' 有重复的键, 所以 CREATE UNIQUE INDEX 语句终止。

[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);
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
20天前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
100 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
2月前
|
SQL 数据库
SQL解析相关报错
SQL解析相关报错
44 5
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之新建项目的元数据的sql报错,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1天前
|
SQL PHP 数据库
解决高版本laravel/framework中SQLServer2008分页报错问题
【11月更文挑战第6天】在高版本的 `laravel/framework` 中使用 SQL Server 2008 进行数据库操作时,可能会出现分页报错。这是由于 `laravel` 的分页机制与 SQL Server 2008 的某些特性不兼容所致。解决方法包括:1. 升级数据库版本;2. 自定义分页查询语句;3. 使用兼容包或插件;4. 修改 `laravel` 的分页逻辑。
|
1月前
|
SQL 关系型数据库 MySQL
|
2月前
|
关系型数据库 MySQL Nacos
nacos启动报错 load derby-schema.sql error
这篇文章描述了作者在使用Nacos时遇到的启动错误,错误提示为加载derby-schema.sql失败,作者通过将数据库从Derby更换为MySQL解决了问题。
nacos启动报错 load derby-schema.sql error
|
2月前
|
关系型数据库 MySQL Java
flywa报错java.sql.SQLSyntaxErrorException: Unknown database ‘flyway‘
flywa报错java.sql.SQLSyntaxErrorException: Unknown database ‘flyway‘
33 1
|
1月前
|
Shell
SqlServer旁门左道之启动报错(cannot find one or more components.Please reinstall the application。)终极解决方案
SqlServer旁门左道之启动报错(cannot find one or more components.Please reinstall the application。)终极解决方案
82 0
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")