JOOQ MySQL TEXT DataType

问题描述 投票:2回答:1

我试图用JOOQ生成这个简单的SQL,由于某种原因我无法完成它。

CREATE TABLE T (
    F TEXT
);

我预计它会像

dsl.createTable(name("T"))
   .column("F", MySQLDataType.TEXT);

不幸的是,MySQLDataType已被弃用(Do not reference this type directly from client code. Referencing this type before the SQLDataType class has been initialised may lead to deadlocks!)。所以我试过了

dsl.createTable(name("T"))
   .column(field("F TEXT"));

但我得到以下SQL,这是不合法的。

CREATE TABLE `T` (F text other null );

任何提示?

mysql jooq
1个回答
2
投票

正如documentation所说

请改用相应的SQLDataType

你可以使用qazxsw poi for MySQL qazxsw poi数据类型。

来自MySQL .column("ColumnName", SQLDataType.CLOB)

四种TEXT(CLOB)类型是TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT。它们的区别仅在于它们可以容纳的值的最大长度。

如果你使用TEXT与供应商特定的长度,你将导致documentationSQLDataType.CLOB(LENGTH)TINYTEXT

请注意,MySQL将MEDIUMTEXT称为LONGTEXT

用法示例

CLOB
© www.soinside.com 2019 - 2024. All rights reserved.