sql数据库中,当表中有多个列同时作为表的主键时,应该怎么设置呢?

sql数据库中,当表中有多个列同时作为表的主键时,应该怎么设置呢?,第1张

可以用如下方法进行设置:

第一,如果是用SQL语句建表,如下:(假设要让a和c组合作为主码)

create table t1(

a int,

b varchar(20),

c int,

primary key(a,c)

)

第二,如果用图形化界面做,按住ctrl键,然后选择a和c两个列,接着右键菜单选择“设置为主键”即可。

一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。

主键:表中记录的唯一标识,外键:依赖于别的表的数据。比如:表A,表B---------C是表A的主键,而B中也有C,那么C则是B的外键,用于关联两个表,如果说要把A中的一条数据删除,则一定要删除有外键的数据。界面上设置:设置主键:创建表时,选中列,右击,主键;设置外键:单击列,右键选关系,在关系里建立外键。 代码上设置:create table 表名(列名 数据类型 identity(1,1),列名 数据类型,constraint pk_a primary key (列名))例如:create table users(id int identity(1,1),name varchar(10) not null, age int not null,constraint pk_a primary key (name ,age )) 建表时创建外键约束create table 表名(列名 数据类型 foreign key references 外表名(主键),列名 数据类型)例如:create table users(id1 int foreign key references Login(id),id1 varchar(10) not null)建表后创建外键约束alter table 表名 add constraint fk_表名 foreign key(列名) references 外表名(主键) 还有设置了自动标识,就不能手动插入数据了,属于自动增量。

1、保证每个实体的完整性;

2、加快数据库的 *** 作速度,更好地给用户带来体验;

3、在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

4、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。

扩展资料

主键的使用规则介绍:

1、任意两行都不具有相同的主键值;

2、每行都必须具有一个主键值(主键列不允许NULL值);

3、可以使用多个列作为主键,但是所有列值得组合必须是唯一的(但单个列的值可以不唯一);

4、不更新主键列中的值;

5、不重用主键列的值;

6、不在主键列中使用可能会更改的值(例如,供应商的名字,如果供应商更改了名字,你就得改这个主键)。

参考资料来源:百度百科-数据库主键


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

原文地址: http://outofmemory.cn/tougao/7736537.html

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

发表评论

登录后才能评论

评论列表(0条)

保存