首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个有2个属性的表中添加只有1个属性的行作为复合主键?

如何在一个有2个属性的表中添加只有1个属性的行作为复合主键?
EN

Stack Overflow用户
提问于 2013-10-05 13:11:13
回答 2查看 87关注 0票数 0

示例:-我有一个名为Person的表,它有2列person_id和skill。主键是(person_id,skill)

人员:- Person_id |技能

代码语言:javascript
复制
        1     | skill_a
        1     | skill_b
        2     | skill_a

所以一个人可以有很多技能。但是我如何添加一个没有技能的人(因为skil列不接受空值)

EN

回答 2

Stack Overflow用户

发布于 2013-10-05 13:19:28

代码语言:javascript
复制
insert table person(person_id) values('3')

并将skill设置为null

如果你设置了person_id,skill是主键,那么你就不能设置null。

因为primary_key= 唯一的+不为空

票数 0
EN

Stack Overflow用户

发布于 2013-10-05 13:28:30

sql中有两个约束

  1. 主键
  2. 唯一键

两者都是用来避免重复的。唯一键只允许空值一次。但是主键不允许空值。

最好使用唯一约束而不是主键约束来实现这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19194239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档