
这个不是哦 int bitgint tyniint 都可以 char vchar nvchar 也可以 mssql 的话 主键还可能是guid
datetime都可以
事实上只要是能有明显的 最大长度的变量都可以成为主键
你在建立外键的时候要指定更新的关联,这样删除User中的一笔记录,所有以User表的UserId为外键的表的记录都会删除,修改User中UserId的值,所有所有以User表的UserId为外键的表的记录都会更新这个UserId的值
比如MSSQL中:
alter table tbl_xxx
add constraint FK_xxx foreign key (lodNo)
references tbl_aaa (loNo)
on update cascade on delete cascade
注意on update cascade on delete cascade
数据库中,一个表字段可以是本表的主键,同时,也可以是其他表的外键(在其他表中被设置为外键)。
若某字段是本表的外键,则该字段引用的字段一定是某表的主键。(在两个表中,两上字段可不同名,但属性一定相同)
定义:
主键是能确定一条记录的唯一标识。比如,一条记录包括身份z号,姓名,年龄。身份z号是唯一能确定你这个人的,其他都可能有重复,所以,身份z号是主键。
主键字段不能是NULL。
主键是一种唯一性索引,但它必须指定为“PRIMARY
KEY”。
一个表只能有一个主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如:A表中的一个字段,在B表中,该字段是B表的主键,那他就可以在A表中被设置为外键。
主键:唯一标识一条记录,不能有重复的,不允许为空;外键:表的外键是另一表的主键,
外键可以有重复的,
可以是空值。
主键的作用是用来保证数据完整性,主键只能有一个。比如,一条记录包括身份正号,姓名,年龄。身份z号是唯一能确定你这个人的,其他都可能有重复,所以,身份z号是主键。
外键的作用是用来和其他表建立联系用的,一个表可以有多个外键。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
主键:表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义
PRIMARY
KEY
约束来创建主键。一个表只能有一个
PRIMARY
KEY
约束,而且
PRIMARY
KEY
约束中的列不能接受空值。由于
PRIMARY
KEY
约束确保唯一数据,所以经常用来定义标识列。
外键
(FK)
是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键
还是去看一下基础知识吧
以上就是关于在数据库中,主键和外键都必须是整数吗全部的内容,包括:在数据库中,主键和外键都必须是整数吗、如何修改数据库中主外键约束的数据、请问 sql 字段 可不可以 即是主键又是外键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)