我试图用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 );
任何提示?
正如documentation所说
请改用相应的SQLDataType。
你可以使用qazxsw poi for MySQL qazxsw poi数据类型。
来自MySQL .column("ColumnName", SQLDataType.CLOB)
四种TEXT(CLOB)类型是TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT。它们的区别仅在于它们可以容纳的值的最大长度。
如果你使用TEXT
与供应商特定的长度,你将导致documentation,SQLDataType.CLOB(LENGTH)
,TINYTEXT
请注意,MySQL将MEDIUMTEXT
称为LONGTEXT
用法示例
CLOB