我们的系统为每个更新或插入新内容的表创建一个日志,它保存表名、更新行的id值或最后插入的id以及事件的时间戳。
这很有用,因为我们可以检查最新更新的表是什么,并在发生更改时刷新显示给用户的信息,但是我们没有在日志中保存id的列名。
问题是我们正在用php逐个编程。
if($tableName == 'Clients'){ $idname = 'CID'; }
有没有办法问mysql:给我一个特定表的主键列名,比如:
SHOW COLUMN_NAME FROM CLEINTS WHERE KEY_NAME = 'PRIMARY KEY';
我记得我以前使用过这样的查询,但我不记得它是什么,我找到了一些sql的解决方案,但在mysql中似乎不起作用,或者太复杂了(使用 information_schema
),我要查找的查询非常简单,几乎像我刚才给出的示例。
谢谢
3条答案
按热度按时间fae0ux8s1#
你可以得到
KEYS
通过使用另一个选择是表演
INDEXES
正如@nick在评论中提到的语法:
文档链接以获取更多详细信息。
t40tm48m2#
您好@multimediaxp我想这可能对您有所帮助。
有关更多详细信息,请参见给定链接:http://mysql-0v34c10ck.blogspot.com/2011/05/better-way-to-get-primary-key-columns.html
3gtaxfhh3#
你可以从
information_schema
数据库。使用以下查询: