SQL PRIMARY KEY 约束实例与 PRIMARY KEY语法

在创建考试基本表(学号,课程号,成绩)时定义一个名为pk_ks的表级primary key约束,主码为一
    cj int ,
     Results int privary key
    
    )
个属性组(学号,课程号)
     create table pk_ks(
    constraint pk_ks primary key (xh,kch)
    )
    kch int ,
     ID int,
    最佳答案 create table ksjcb (xh int,
     CourseID int,
 
 

PRIMARY KEY 约束唯一标识数据库教程表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表应该都一个主键,并且每个表只能有一个主键。

好了现在我们来看看创建和修改 PRIMARY KEY 约束

可以在创建表时创建单个 PRIMARY KEY 约束作为表定义的一部分。如果表已存在,且没有 PRIMARY KEY 约束,则可以添加 PRIMARY KEY 约束。一个表只能有一个 PRIMARY KEY 约束。

如果已存在 PRIMARY KEY 约束,则可以修改或删除它。例如,可以让表的 PRIMARY KEY 约束引用其他列,更改列的顺序、索引名、聚集选项或 PRIMARY KEY 约束的填充因子。但是,不能更改使用 PRIMARY KEY 约束定义的列长度。

注意:
若要修改 PRIMARY KEY 约束,必须先删除现有的 PRIMARY KEY 约束,然后再用新定义重新创建该约束。
 

为表中的现有列添加 PRIMARY KEY 约束时,SQL Server 2005 数据库引擎 将检查现有列的数据和元数据以确保主键符合以下规则:

列不允许有空值。
创建表时指定的 PRIMARY KEY 约束列隐式转换为 NOT NULL。

不能有重复的值。
如果为具有重复值或允许有空值的列添加 PRIMARY KEY 约束,则数据库引擎 将返回一个错误并且不添加约束。

不能添加违反以上规则的 PRIMARY KEY 约束。

数据库引擎 会自动创建唯一的索引来强制实施 PRIMARY KEY 约束的唯一性要求。如果表中不存在聚集索引或未显式指定非聚集索引,则将创建唯一的聚集索引以强制实施 PRIMARY KEY 约束。

如果存在以下情况,则不能删除 PRIMARY KEY 约束:

如果另一个表中的 FOREIGN KEY 约束引用了 PRIMARY KEY 约束,则必须先删除 FOREIGN KEY 约束。

表包含应用于自身的 PRIMARY XML 索引

时间: 2024-07-30 23:51:55

SQL PRIMARY KEY 约束实例与 PRIMARY KEY语法的相关文章

vs2010 sql2008-违反了primary key约束pk_logininfo,不能在对象dbo_logininfo中插入重复键.

问题描述 违反了primary key约束pk_logininfo,不能在对象dbo_logininfo中插入重复键. 保存时出错! private void employeeInfoBindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); try { BankDataContext c = new BankDataContext(); LoginInfo t = new LoginInfo();

SQL NOT NULL 约束语法与not null实例

SQL NOT NULL 约束语法与not null实例 如果我们创建一个表 CREATE TABLE aa ( Id_P int NOT NULL, LName varchar(250) NOT NULL, FName varchar(25), Ass varchar(25), C varchar(205) ) NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录. 下面的 SQL 语句强制 "

SQL UNIQUE 约束实例教程

独特的约束的SQL 唯一约束的唯一识别每个记录在一个数据库表. 的独特性和原发性主要制约因素都提供了保证唯一的一列或一组栏. 主键约束自动具有独特的约束定义它. 请注意,你可以有许多独特的限制,每表,但只有一个主键约束每就座. 独特的SQL制约创建表 下列SQL创建了一个唯一约束的" P_Id "一栏时, "人"是创建表: CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL

c#-UPDATE 语句与 FOREIGN KEY 约束"FK_DeskInfo_RoomInfo"冲突。

问题描述 UPDATE 语句与 FOREIGN KEY 约束"FK_DeskInfo_RoomInfo"冲突. 比如我有一个Room表 主键是RoomId. 一个Desk表,主键是DeskId,外键是RoonId Room表有 : RoomId(标示列), RoomName , RoomType 其中 一条数据 RoomId 1 , RoomName 测试 ,RoomType=1 在Desk表 : DeskId(标示列) RoomId,DeskName, 我插入一条数据 insert

Java用自定义的类作为HashMap的key值实例_java

这是Java中很经典的问题,在面试中也经常被问起.其实很多书或者文章都提到过要重载hashCode()和equals()两个方法才能实现自定义键在HashMap中的查找,但是为什么要这样以及如果不这样做会产生什么后果,好像很少有文章讲到,所以写这么一篇来说明下. 首先,如果我们直接用以下的Person类作为键,存入HashMap中,会发生发生什么情况呢? public class Person { private String id; public Person(String id) { thi

sql alert 添加、修改、删除字段语法实例

  sql alert 添加.修改.删除字段语法实例 alter table 的语法如下: alter table "table_name" [改变方式] [改变方式] 的详细写法会依我们想要达到的目标而有所不同.再以上列出的改变中,[改变方式] 如下: 加一个栏位: add "栏位 1" "栏位 1 资料种类" 删去一个栏位: drop "栏位 1" 改变栏位名称: change "原本栏位名" &quo

SQL基础--> 约束(CONSTRAINT)

--============================= --SQL基础--> 约束(CONSTRAINT) --=============================   一.几类数据完整性     实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键     域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合     参照完整性:不能引用不存在的值     自定义完整性:根据特定业务领域定义的需求完整性         保证数据完整性的几种常用方法

SQL基础13—— 约束(CONSTRAINT)

原文转自  一沙弥的世界  的博客 一.几类数据完整性     实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键     域完整性:表中字段值必须与字段数据类型.格式.有效范围相吻合     参照完整性:不能引用不存在的值     自定义完整性:根据特定业务领域定义的需求完整性         保证数据完整性的几种常用方法        约束(最常用)        过程        函数        触发器               实体完整性:primary

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (