数据库中,主键是不能重复,唯一的,请问外键是否也不能重复的??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中,主键是不能重复,唯一的,请问外键是否也不能重复的??相关的知识,希望对你有一定的参考价值。

外键是可以重复的,比如有一个班级表calss(class_no,class_name)学生表student(stu_no,name,class_no)这种情况就是学生中的class_no是外键关联与班级的主键,可以有多个学生在同一个班级设。所有学生表中的class_no可以有多个相同的记录 参考技术A 是的。外键与主键有对应关系的。不能重复。

sql server的主键与外键问题

我今天刚学sql server的主键外键,觉得有点不懂的是:书上说他们是强制约束,不能乱改.可如果我要改主键的某列值应该怎么办呢?请大家给我讲讲他们之间的关系到底是怎么样的?主表和子表的关系我也搞不太懂,谢谢大家了~

参考技术A 可以改,只要不是重复值就行。
主键是一个表实体完整性的保证,就是说用它来保证能够唯一的表示一个实体。所以主键值不能重复。
外键是相对于两个表的。在另一个表中也是主键。用于保证参照完整性——控制两个表中的同一项数据一致。
参考技术B 对于我这个sql高手(呵呵)来说主外健好麻烦,先要把外健表中的关于有主健信息一改,再去改主健列内容,就这样 参考技术C 这么和你说吧,主键具有唯一性,也就是不能重复
外键是和其他表联系的,也就是和其他表的主键相关联,通信.
都可以改
改主键时,要注意唯一,不能出现重复值
改外键值时,将会使这条修改了外键值的记录和其他表失去关联.本回答被提问者采纳
参考技术D 诲人不倦:
有表:学生(学号,系代码), 系(系代码,系名,……)
学生表中,学号是主键,系代码是一个属性,但不是主键,而是系表中的主键;那么系代码在学生表中就是外键;
在学生表中插入/修改数据时,系代码的值必须是系表中已存在的值。这就是约束。
第5个回答  2009-04-15 先删除子表数据,再修改主表数据

以上是关于数据库中,主键是不能重复,唯一的,请问外键是否也不能重复的??的主要内容,如果未能解决你的问题,请参考以下文章

请问SQL server 中的主键和外键的作用

主键和外键的区别:

很菜的数据库问题,主键的值允许重复吗?外键啥作用?

外键是唯一的吗?

mysql 主键索引和唯一索引的区别

主键,外键和索引的区别