我想在创建表时向其表添加唯一约束。 我以为这样的事情会起作用,但似乎什么也没做。
<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"/>
答案 0 :(得分:0)
尝试将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>