微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何获取MySQL中特定表的主键“列名”

我们的系统会为每个更新或插入新内容的表创建一个日志,它会保存表名,更新行的ID值或插入的最后一个ID以及事件的时间戳.

这很有用,因为我们可以检查更新的最新表是什么,并在发生更改时立即刷新显示用户的信息,但我们没有在日志中保存ID的列名.

问题是我们在PHP中逐案编程.

if($tableName == 'Clients'){ $idname = 'CID'; }

有没有办法只问MysqL:给我一个特定的表的主键列名称,如:

SHOW COLUMN_NAME FROM CLEINTS WHERE KEY_NAME = 'PRIMARY KEY';

我记得我过去曾经使用过像这样的查询,但是我记不清它是什么了,我找到了一些sql解决方案,但似乎没有在MysqL中工作或太复杂(使用information_schema),我正在寻找的查询非常简单,几乎就像我刚给出的例子.

谢谢

解决方法:

您可以从information_schema数据库获取详细信息.使用以下查询

SELECT COLUMN_NAME 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE TABLE_NAME = 'Your_table_name' 
  AND CONSTRAINT_NAME = 'PRIMARY'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐