为了账号安全,请及时绑定邮箱和手机立即绑定

mysql中的primary key是不是只能是一个字段的,为什么这里会有id,和name两个字段呢?

正在回答

3 回答


这个是复合主键,具体看

http://tcshare.org/mysql-%E5%A4%9A%E4%B8%AA%E4%B8%BB%E9%94%AE-%E5%A4%8D%E5%90%88%E4%B8%BB%E9%94%AE/


这个表是这么建的

mysql> create table t (

    -> id int(11) unsigned auto_increment,

    -> name varchar(50) ,

    -> primary key(id,name),

    -> address varchar(100));


2 回复 有任何疑惑可以回复我~

那当时建表的时候,id和name就不能一起设为主键吧?????


0 回复 有任何疑惑可以回复我~

这个是表级约束而非列级约束,即只有一个primary key 但是这个primary key约束的是id和name两个字段

这个约束的效果就是虽然id相同,但是name不同就可以存入;同样如果name相同,但是id不同也可以存入

但是要是id和name都一样的话就存不进去的

请叫我红领巾=_=

6 回复 有任何疑惑可以回复我~
#1

若风2019

红领巾
2019-11-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程
意见反馈 帮助中心 APP下载
官方微信