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

请教,show columns from tbl_name中的Key栏下的PRI到底表示什么??

我一开始以为PRI表示的是主键,后来我发现即使没有创建主键,一样会有某个字段显示PRI,比如我创建了users1,分别有字段:id,username,pid,age  但是没有设定主键,show columns from users1如下:

http://img1.sycdn.imooc.com//58515e230001120204180108.jpg

明明pid没有设置主键,但是显示为PRI

当我添加username字段为主键后,PRI改变为username:

58515d4200014ff004010156.jpg

所以PRI到底代表了什么??如果单看这个PRI根本不知道这个字段是不是主键啊?有什么用呢?

请教大家,非常感谢!

正在回答

4 回答

试了一下,用UNIQUE KEY 声明约束,但是没有PRIMARY KEY。用SHOW  COLUMNS FROM tbl_name里面就会有一个键的约束下面是PRI。我个人觉得应该是索引吧。要知道准确消息可以用 SHOW CREATE TABLE tbl_name ,这里面的是对的

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

进击君 提问者

没错,用 SHOW CREATE TABLE tbl_name 是最可靠的。当创建了UNIQUE KEY约束后,即使没有主键,SHOW COLUMNS FROM tbl_name也会将其中一个字段显示为PRI。原因不明。
2016-12-17 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5853a6ae000132f305110176.jpg

没加不会有

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

Primary 中的“pri“,即主键!

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

进击君 提问者

你好,那为什么没有创建主键的表里也会有PRI?请看问题描述
2016-12-15 回复 有任何疑惑可以回复我~

主键约束,相应的,UNI是唯一约束(不允许其他记录与本记录相同内容,可以多次使用)

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

进击君 提问者

你好,那为什么没有创建主键的表里也会有PRI?
2016-12-15 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请教,show columns from tbl_name中的Key栏下的PRI到底表示什么??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信