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

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
如果你建立的表是有关联的话 那建议就是最好要设有主键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值