SQL中的每一张表都必须设有主键吗

来源:互联网 发布:linux网络流量监控 编辑:程序博客网 时间:2024/06/07 02:51

SQL中的每一张表都必须设有主键吗

请问各位朋友 SQL中的每一张表都必须设有主键吗?
不设主键行不行?会造成什么问题吗?
非常感谢!
nishishui001 | 浏览 11683 次  问题未开放回答
推荐于2016-05-26 07:17:03最佳答案
很明显不是必须设主键的

主键的解释如下:

主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。
主关键字是一种唯一关键字,表定义的一部分。
一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义
发布评论
princeeey|2017-8-21 10:45
可以不要的。没有主键就可以有重复记录了,方便恢复记录。一旦有了主键,必须主键列无重复值。回复
耕耘者1294480|2017-4-28 17:04
把概念往这一放有什么用?回复

twvampire 

采纳率:78% 来自团队:数据库讨论 擅长: 数据库DB 烦恼 资源共享 电影

其他回答

当然不一定咯。。
设置不设置主键嘛。。。要看你的业务或者需求来说。。。
如果你就是简单的对单表操作的话,实在没有必要。
对多张没有关联的表操作的话,不设置也没有什么影响
主键只是说对一种表和表关系的关联而已,还有就是在建主键的时候会自动添加个索引,某些情况下可以增加查询速度
 本回答被提问者采纳
水中の鱼儿泪  | 推荐于2016-11-16 05:10:53
评论 
44 0
可以没有。
也可以有的。 一个表可以有一个主键,理论是这样,也可以有多个。主键可以保证字段值的唯一性和非空属性,相当于unique,不过unique不约束表的null,而且设置主键,在其他表可以设置这个主键的外键,这样就会存在约束(主键对外键的约束),修改外键,必须先修改主键,而且两个表字段(主键,外键)的值是相等的。
冰封少尉  | 发布于2008-01-04 10:00
评论 
3 5
如果你建立的表是有关联的话 那建议就是最好要设有主键
原创粉丝点击