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'

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...