做主键的是不是不能做为外键?
答案:6 悬赏:60 手机版
解决时间 2021-02-13 15:21
- 提问者网友:趣果有间
- 2021-02-13 04:20
做主键的是不是不能做为外键?
最佳答案
- 五星知识达人网友:鱼芗
- 2021-02-13 04:51
可以,SQL Server2014通过。
全部回答
- 1楼网友:患得患失的劫
- 2021-02-13 07:14
应该是可以的啊. mysql> CREATE TABLE course ( -> course_NO INT PRIMARY KEY -> );Query OK, 0 rows affected (0.19 sec)mysql>mysql> CREATE TABLE teacher ( -> teacher_ID INT PRIMARY KEY -> );Query OK, 0 rows affected (0.08 sec)mysql> CREATE TABLE temp ( -> course_NO INT, -> teacher_ID INT, -> foreign key(course_NO) references course(course_NO), -> foreign key(teacher_ID)references teacher (teacher_ID), -> primary key(course_NO,teacher_ID) -> );Query OK, 0 rows affected (0.10 sec)
- 2楼网友:几近狂妄
- 2021-02-13 06:51
可以的,本人亲测——postgres
- 3楼网友:归鹤鸣
- 2021-02-13 06:45
你好,首先你得明白主键和外键的定义以及区别:**定义**主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。外键:若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。 **区别**主键:表中记录的唯一标识外键:依赖于别的表的数据主键:你把唯一键的一个选做主键,一张表只能有一个主键外键:所定义的外键是另一张表的主键,主键:表中记录的唯一标识,外键:依赖于别的表的数据主键和唯一键的一个区别:主键是不允许为NULL的,唯一键则可以,当然你可以加上NOT NULL来限制它 **结论**做主键的可以另外一个表的外键,其不能是表自身的外键(如果是表自身,则表明是另外一个也有这样的一个主键,但根据主键的定义可知这个结论是不对的)。
- 4楼网友:话散在刀尖上
- 2021-02-13 05:16
不可以,主键的值唯一,外键的值可以重复
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯