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

MySQL怎么查看约束的别名呢?

MySQL怎么查看约束的别名呢?

没死接着学 2017-02-12 14:15:20
比如给ID字段添加一个别名为PK的主键约束:ALTER TABLE TB1 ADD CONSTRAINT PK PRIMARY KEY(ID);那怎么查看到主键的别名是PK呢?
查看完整描述

3 回答

?
old神谕

TA贡献24条经验 获得超15个赞

两种常用方法:

① show index,其中key_name就是约束名

SHOW INDEX IN table_name;
(root@localhost) [test]> show index in a\G
*************************** 1. row ***************************
        Table: a
   Non_unique: 1
     Key_name: idx_id
 Seq_in_index: 1
  Column_name: id
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment: 
Index_comment: 
1 row in set (0.00 sec)



② show create table,其中KEY后面的`idx_id`就是约束名

(root@localhost) [test]> SHOW CREATE TABLE a\G
*************************** 1. row ***************************
       Table: a
Create Table: CREATE TABLE `a` (
  `id` int(11) DEFAULT NULL,
  KEY `idx_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)


如果在创建索引的时候没有指定索引名,那么会有个默认值,也可以被查询到。


查看完整回答
反对 回复 2017-02-13
  • 没死接着学
    没死接着学
    不好意思哈,我上面也是用SHOW CREATE TABLE查看的,可是只是显示结果在上面,并没有显示出别名?
  • old神谕
    old神谕
    此处的主键取了默认值,默认值就是`PRIMARY`,如果你要详细查询,可以这样写:SELECT CONSTRAINT_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='tb1';
  • old神谕
    old神谕
    这样能明白吧
点击展开后面1
?
KevenHuang

TA贡献280条经验 获得超233个赞

show create table 表名;
查看完整回答
反对 回复 2017-02-12
  • 没死接着学
    没死接着学
    DESC table_name; SHOW CREATE TABLE table_name; SHOW INDEXES FROM table_name; 都试过,但是没看到……
  • 3 回答
  • 0 关注
  • 4238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信