gpt4 book ai didi

mysql - Liquibase 在表创建过程中添加唯一约束

转载 作者:行者123 更新时间:2023-11-29 16:48:33 27 4
gpt4 key购买 nike

我想在创建表时向其添加唯一约束。我以为这样的事情会起作用,但它似乎什么也没做。

<createTable tableName="MY_TABLE">
<column name="MY_TABLE_ID" type="SMALLINT" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="TABLE_FIELD" type="SMALLINT">
<constraints nullable="false" uniqueConstraintName="TABLE_FIELD_ix1"/>
</column>
<column name="TABLE_FIELD_TWO" type="SMALLINT">
<constraints nullable="false" uniqueConstraintName="TABLE_FIELD_ix1"/>
</column>
</createTable>

我知道在创建表后我可以使用 addUniqueConstraint 标记(并且已成功使用它),但我想知道这是否可以避免。

基本上我想这样做,但在创建表部分

<addUniqueConstraint tableName="MY_TABLE"
columnNames="TABLE_FIELD, TABLE_FIELD_TWO"
constraintName="TABLE_FIELD_ix1"/>

最佳答案

尝试添加unique="true"<constraints> .

    <createTable tableName="MY_TABLE">
<column name="MY_TABLE_ID" type="SMALLINT" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="TABLE_FIELD" type="SMALLINT">
<constraints nullable="false" unique="true" uniqueConstraintName="TABLE_FIELD_ix1"/>
</column>
<column name="TABLE_FIELD_TWO" type="SMALLINT">
<constraints nullable="false" unique="true" uniqueConstraintName="TABLE_FIELD_ix2"/>
</column>
</createTable>

这会创建两个单独的唯一约束,两个字段各有一个。它不会为 (TABLE_FIELD, TABLE_FIELD_TWO) 的集合创建唯一约束。 .

关于mysql - Liquibase 在表创建过程中添加唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950169/

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