我们的系统会记录每个被更新或插入新内容的表,它会保存表名、更新行的ID值或最后插入的ID以及事件的时间戳。
这非常有用,因为我们可以检查最近更新的表并在更改发生时立即刷新向用户显示的信息,但我们没有将ID列的名称保存在日志中。
问题在于我们正在使用PHP逐个编写程序。
这非常有用,因为我们可以检查最近更新的表并在更改发生时立即刷新向用户显示的信息,但我们没有将ID列的名称保存在日志中。
问题在于我们正在使用PHP逐个编写程序。
if($tableName == 'Clients'){ $idname = 'CID'; }
有没有一种方法可以直接询问MySQL:给我一个特定表的主键列名,类似于:
SHOW COLUMN_NAME FROM CLEINTS WHERE KEY_NAME = 'PRIMARY KEY';
我记得过去曾使用过类似这样的查询,但我不记得具体是什么了。虽然找到了一些对于 SQL 的解决方案,但它们好像在 MySQL 中不起作用,或者过于复杂(使用 information_schema
)。我正在寻找的查询非常简单,几乎就像我刚才给出的例子一样。
谢谢。
SHOW INDEX FROM CLIENTS WHERE KEY_NAME = 'PRIMARY';
- NickSHOW KEYS FROM CLEINTS WHERE Key_name = 'PRIMARY'
- Jigar Shah