【问题标题】:JOOQ Creating table with indicesJOOQ 使用索引创建表
【发布时间】:2022-01-01 11:11:03
【问题描述】:

按照文档使用 JOOQ 创建表:

context.createTable("table")
      .column("column1", INTEGER)
      .column("column2", VARCHAR(10).nullable(false))
      .constraints(
          primaryKey("column1"),
          unique("column2"),
          foreignKey("column2").references("some_other_table"),
          check(field(name("column2")).like("A%"))
      )
      .execute();

但是,似乎也可以在创建表时声明索引:

context.createTable("table")
      .column("column1", INTEGER)
      .column("column2", VARCHAR(10).nullable(false))
      .constraints(
          primaryKey("column1"),
          unique("column2"),
          foreignKey("column2").references("some_other_table"),
          check(field(name("column2")).like("A%"))
      )
      .indexes(...indices)
      .execute();

我在说明如何操作的文档中找不到任何内容。

以这种方式声明索引的正确方法是什么?

【问题讨论】:

    标签: java sql jooq


    【解决方案1】:

    jOOQ 3.15 尚不支持此特定语法: https://github.com/jOOQ/jOOQ/issues/9243

    您可以通过各种方式自己实现它,例如:

    或者,您可以使用 jOOQ DSL API 运行两个单独的语句:

    • CREATE TABLE
    • CREATE INDEX

    【讨论】:

      猜你喜欢
      • 2021-05-25
      • 2017-12-13
      • 2022-01-17
      • 2015-03-29
      • 2012-07-28
      • 2014-02-16
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多