我不知道我的代码是否适用于 MySQL、PostgreSQL、MS SQL、IBM db2、Oracle 或什么。那么有没有通用的方法来识别表上的主键?或者至少是一种适用于 3 或 4 个 RDBMS 或在某种标准文件中描述的方法,因此我可以声称我的代码适用于标准情况?
最佳答案
我同意对于所有数据库没有真正通用的方法,您可以尝试使用 INFORMATION_SCHEMA这应该让你有所收获。
SELECT pk.TABLE_NAME, c.COLUMN_NAME primary_key
FROM information_schema.table_constraints pk
JOIN information_schema.key_column_usage c
ON c.table_name = pk.table_name
AND c.constraint_name = pk.constraint_name
WHERE constraint_type = 'primary key'
关于sql - 获取主键中列名的通用 SQL 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809882/