liquibase中如何设置自增主键字段的起始值

2024-05-06

我有一个要求,比如我的 mysql 表的主键以“0”开头。我应该如何在 liquibase xml 中指定它?

我在创建表时尝试了 startWith 参数,但没有成功。

    <column autoIncrement="true" name="id" type="BIGINT(20) UNSIGNED" startWith="0">
            <constraints primaryKey="true"/>
        </column>

任何帮助表示赞赏。


liquibase 生成的 SQL 似乎正确地包含基于您的 startWith 的 AUTO_INCRMENT=0 表选项。如果运行,您可以看到生成的 SQLliquibase updateSql

直接运行 SQL,MySQL 本身似乎不接受默认值零。如果我使用相同的 createTable 但使用不同的 startWith (例如 100),它可以正常工作,但将其设置为零会使其实际上以 1 开头。

也许设置SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";flag 会使其正常工作,但由于 mysql 使用零作为值,表示“使用下一个自动增量字段”,因此如果可以避免混淆,最好从 1 开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

liquibase中如何设置自增主键字段的起始值 的相关文章

随机推荐