【问题标题】:Is it possible to check if an Informix table has a primary key [duplicate]是否可以检查 Informix 表是否具有主键 [重复]
【发布时间】:2015-10-19 14:50:27
【问题描述】:

是否可以(通过查询)检查 Informix 表的主键是否存在?我必须通过 javax.persistence 的 EntityManager 从 Java 代码中检查这一点。

【问题讨论】:

  • 是的,在 Informix 中确定一个表是否有主键当然是可能的(参见perdomoff 在他的answer 中引用的question。你如何使用javax.persistence EntityManager 是一个单独的问题,需要比我更多的 Java 知识。

标签: java primary-key informix exists


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    任何数据库都支持检索有关数据库架构本身的信息和/或允许更改它的特殊命令。

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

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

    【讨论】:

    • 请注意,只有 DB-Access 程序可以理解 Informix INFO 语句。它将 INFO 语句转换为针对系统目录的一个或多个查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多