sql数据库两个外键做联合主键

sql数据库两个外键做联合主键,第1张

联合主键是有着特殊的需求的。

建表的时候创建

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3…………

字段名N………… )

或者

建表之后修改表结构

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED

(

[字段名1],

[字段名2]

)

这个不是哦 int bitgint tyniint 都可以 char vchar nvchar 也可以 mssql 的话 主键还可能是guid

datetime都可以

事实上只要是能有明显的 最大长度的变量都可以成为主键

主键:表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义

PRIMARY

KEY

约束来创建主键。一个表只能有一个

PRIMARY

KEY

约束,而且

PRIMARY

KEY

约束中的列不能接受空值。由于

PRIMARY

KEY

约束确保唯一数据,所以经常用来定义标识列。

外键

(FK)

是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键

还是去看一下基础知识吧

A表必须有记录,B表才能有,这个时候A表是主键表,B表外键表。(A表里面的记录可以随便录入,但一般必须唯一,是主键;B表里面录入的东西就不是乱录了,必须A表里面有的记录,才能录入到B表中。B表里面出现的任何一条记录都必须在A表中找到与之对应的记录,当然它可以重复出现,如果是1:N的话)

例如:学生表,成绩表。学生表里面必须有某个学生的信息,成绩表里面才可能有这个学生的成绩。这个时候学生表示主键表,成绩表示外键表。如果学生表中一个学生都没有,成绩表里面也不能有,但是反之则可以。

一句话,主键表限制外键表的数据。谁限制谁主键,谁被限制谁外键。

以上就是关于sql数据库两个外键做联合主键全部的内容,包括:sql数据库两个外键做联合主键、在数据库中,主键和外键都必须是整数吗、数据库的主键是怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9466024.html

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

发表评论

登录后才能评论

评论列表(0条)

保存