gpt4 book ai didi

java - 加入mysql特有的ROW_FORMAT=DYNAMIC jooq生成的建表语句

转载 作者:可可西里 更新时间:2023-11-01 08:23:32 29 4
gpt4 key购买 nike

我有一个应用程序需要向后移植到 mysql 5.6。

此应用程序使用相当大的复合键,这在 mysql 5.7 上运行良好,因为默认情况下启用了 innodb-large-prefix。

我可以将 mysql 5.6 配置为使用 innodb-large-prefix,但它还需要使用 ROW_FORMAT=DYNAMICCOMPRESSED 创建表。

这是我想使用 jooq 实现的 SQL 示例:

CREATE TABLE `domain` (
`path` varchar(300) NOT NULL,
UNIQUE KEY `index1` (`path`)
) ROW_FORMAT=DYNAMIC;

这些是供引用的mysql 5.6文档:

https://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html https://dev.mysql.com/doc/refman/5.6/en/innodb-row-format.html https://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_large_prefix

最佳答案

您可以使用 CreateTableStorageStep.storage() 将自定义存储子句添加到 CREATE TABLE 语句中方法。例如

ctx.createTable("domain")
.column("path", VARCHAR(300).nullable(false))
.constraint(constraint("index1").unique("path"))
.storage("ROW_FORMAT=DYNAMIC")
.execute();

关于java - 加入mysql特有的ROW_FORMAT=DYNAMIC jooq生成的建表语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55125108/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com