如何获取表的主键?

2022-08-30 07:48:25

有没有办法从mysql数据库获取主键字段的名称?例如:

我有一个这样的表:

+----+------+
| id | name |
+----+------+
| 1  | Foo1 |
| 2  | Foo2 |
| 3  | Foo3 |
+----+------+

其中字段 id 是主键(它具有自动递增功能,但我无法使用它)。如何在php中检索字段名称“id”?


答案 1

更好的方法是使用,因为您并不总是可以访问information_schema。以下工作原理:SHOW KEYS

SHOW KEYS FROM table WHERE Key_name = 'PRIMARY'

Column_name将包含主键的名称。


答案 2

下面是主键列名称

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='YourDatabase'
  AND t.table_name='YourTable';

推荐