如何获取表的主键?
2022-08-30 07:48:25
有没有办法从mysql数据库获取主键字段的名称?例如:
我有一个这样的表:
+----+------+
| id | name |
+----+------+
| 1 | Foo1 |
| 2 | Foo2 |
| 3 | Foo3 |
+----+------+
其中字段 id 是主键(它具有自动递增功能,但我无法使用它)。如何在php中检索字段名称“id”?
有没有办法从mysql数据库获取主键字段的名称?例如:
我有一个这样的表:
+----+------+
| id | name |
+----+------+
| 1 | Foo1 |
| 2 | Foo2 |
| 3 | Foo3 |
+----+------+
其中字段 id 是主键(它具有自动递增功能,但我无法使用它)。如何在php中检索字段名称“id”?
更好的方法是使用,因为您并不总是可以访问information_schema。以下工作原理:SHOW KEYS
SHOW KEYS FROM table WHERE Key_name = 'PRIMARY'
Column_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='YourDatabase'
AND t.table_name='YourTable';