千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行?

不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 19:12:43 1697195563

一、不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行

不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行,这是因为你在student这张表上建了少数索引,索引名字为cno,因此,不能插入索引字段重复的数据。可以把创建和修改区分保存,少数索引去掉改成普通索引。

少数索引和其它索引本质上并没有什么不同,少数不同的是少数索引不允许索引键中存在相同的值。因为索引中每一个条目都与表中的行对应。少数索引不允许重复值被插入索引也就保证了对应的行不允许被插入索引所在的表,这也是为什么少数索引能够实现主键和候选键。

为表声明主键或少数约束时,SQL Server会自动创建与之对应的少数索引。你可以在没有少数约束的情况下创建少数索引,但反之则不行。定义一个约束时,SQL Server会自动创建一个与之同名的索引,并且你不能在删除约束之前删除索引。但可以删除约束,删除约束也会导致与之关联的索引被删除。

每个表中可以包含多个少数索引。比如说AdventureWorks的Product表,含有四个少数索引,分别是ProductID,ProductNumber,rowguid和ProductNameColumn,设置Product表的人将ProductID作为主键,其它三个作为候选键。

延伸阅读:

二、SQL是什么

Structured Query Language

‘SQL’是结构化查询语言,是一种用来操作 RDBMS 的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库

SQL语句主要分为:
DQL:数据查询语言,用于对数据进行查询,如select**
DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete**
TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
DCL:数据控制语言,进行授权与权限回收,如grant、revoke
DDL:数据定义语言,进行数据库、表的管理等,如create、drop
CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor对于web程序员来讲,重点是数据的crud(增删改查),必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作,其它语言如TPL、DCL、CCL了解即可SQL 是一门特殊的语言,专门用来操作关系数据库不区分大小写
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT