是否可以检查 Informix table 是否有主键

Is it possible to check if an Informix table has a primary key

是否可以检查(通过查询)Informix table 的主键是否存在?我必须通过 javax.persistence.

中的 EntityManager 从 Java 代码中检查这个

任何数据库都支持检索有关数据库模式本身的信息的特殊命令and/or允许更改它。

例如 MySQL 支持命令 SHOW CREATE TABLE(参见 here)。 Informix 的类似命令版本称为 info。详情请看下面的讨论:Informix SQL - List all fields & tables

Java持久性API可以运行当前数据库支持的任何命令,包括管理命令,所以你也可以运行info命令。我建议您从使用任何 UI 或 运行s 针对您的数据库发出命令的命令行工具开始使用此命令。一旦你的命令生效,尝试从 java 运行 它。

Chris311,请参阅下面的 link,其中提出并解决了类似问题:

Query to check if primary key exists on the table in informix

用户首先查找 PK 的索引名称(pk_idx 列) 然后,检查索引列(查找 PK 约束的相同索引名称)。