如何确定特定SQL表的主键?

时间:2011-08-04 03:27:33

标签: mysql

我的意思不是手动读取show create table...的输出,而是select ...的输出,以便直接输出主键名称作为结果?

2 个答案:

答案 0 :(得分:3)

以下查询应该为您提供PK - 只需在查询底部插入table_schema和table_name。

SELECT k.`COLUMN_NAME`
  FROM `information_schema`.`TABLE_CONSTRAINTS` t
  JOIN `information_schema`.`KEY_COLUMN_USAGE` k
  USING (`CONSTRAINT_NAME`, `TABLE_SCHEMA`, `TABLE_NAME`)
  WHERE t.`CONSTRAINT_TYPE` = 'PRIMARY KEY'
    AND t.`TABLE_SCHEMA` = 'dbName'
    AND t.`TABLE_NAME` = 'tableName';

答案 1 :(得分:0)

show index from CC_CSR_USER where Key_name = 'PRIMARY';

CC_CSR_USER是一个表名。查看结果上的column_name字段,您将获得该表的PRIMARY KEY列。