SQL里FOREIGN KEY和UNIQUE什么时候用?
答案:3 悬赏:40 手机版
解决时间 2021-02-05 10:02
- 提问者网友:心如荒岛囚我终老
- 2021-02-04 19:49
SQL里FOREIGN KEY和UNIQUE什么时候用?
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-02-04 20:09
2个的意思一楼的已经说了:
FOREIGN KEY是外键,与其他表关联的时候用的
UNIQUE 是唯一,即此列此值在此表唯一 (不知道二楼是怎么把unique变成union的!!)
举个例子:
表一(学生表):sutdent(sno,sname)
表二(成绩表):cs(cno,sno,grade)
成绩表里的学号列(sno)按理来说必须要是在学生表里存在的,如果没设置外键,就可能会出现成绩表里的学号不在学生表里,但是如果设置了外键,你现在输入一个不在学生表里的学号到成绩表里是插入不进去的,会提示错误;
在说下unique,拿表一来说,如果你在创建表的时候什么都没加以限制,则可能出现2个或者多个学号重复的情况,但你对学号加了unique,则表的sno列是不允许出现重复的学号的,不过这里要说明的一点是要注意和primary key(主键)的区别---primary key(主键)是不允许为空的(null),而unique(唯一)可以允许出现一次空值(null).
FOREIGN KEY是外键,与其他表关联的时候用的
UNIQUE 是唯一,即此列此值在此表唯一 (不知道二楼是怎么把unique变成union的!!)
举个例子:
表一(学生表):sutdent(sno,sname)
表二(成绩表):cs(cno,sno,grade)
成绩表里的学号列(sno)按理来说必须要是在学生表里存在的,如果没设置外键,就可能会出现成绩表里的学号不在学生表里,但是如果设置了外键,你现在输入一个不在学生表里的学号到成绩表里是插入不进去的,会提示错误;
在说下unique,拿表一来说,如果你在创建表的时候什么都没加以限制,则可能出现2个或者多个学号重复的情况,但你对学号加了unique,则表的sno列是不允许出现重复的学号的,不过这里要说明的一点是要注意和primary key(主键)的区别---primary key(主键)是不允许为空的(null),而unique(唯一)可以允许出现一次空值(null).
全部回答
- 1楼网友:天凉才是好个秋
- 2021-02-04 22:13
FOREIGN KEY是外键,与其他表关联的时候用的
UNIQUE 是唯一,即此列此值在此表唯一
UNIQUE 是唯一,即此列此值在此表唯一
- 2楼网友:独钓一江月
- 2021-02-04 21:23
FOREIGN KEY是用来设置外键的,当一个表有数据冗余时可使用一个副表然后加一个foreign key(和主键对应)就能关联了。
UNIQUE是用来链接查询多个表的数据。如select * from a union select * from b
UNIQUE是用来链接查询多个表的数据。如select * from a union select * from b
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯