作者:覃维欢 | 来源:互联网 | 2022-12-05 09:55
我们的系统会为每个用新内容更新或插入的表创建一个日志,它将保存表名称,更新行的ID值或最后插入的ID以及事件的时间戳。
这很有用,因为我们可以检查最新的表是什么,并在发生更改后立即刷新显示给用户的信息,但是我们没有在日志中保存ID的列名。
问题是我们正在用PHP逐案编程。
if($tableName == 'Clients'){ $idname = 'CID'; }
有没有办法问MySQL:给我一个特定表的主键列名称,例如:
SHOW COLUMN_NAME FROM CLEINTS WHERE KEY_NAME = 'PRIMARY KEY';
我记得我过去曾经使用过这样的查询,但是我不记得它是什么,我已经找到了一些SQL解决方案,但似乎无法在MySQL中工作或过于复杂(使用information_schema
),该查询我要寻找的非常简单,几乎就像我刚才给出的示例一样。
谢谢
1> 小智..:
您可以从information_schema
数据库中获取详细信息。使用以下查询:
SELECT COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'Your_table_name'
AND CONSTRAINT_NAME = 'PRIMARY'