我有一个使用自动递增主键的表,它有几个字段。
<column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" />
<column name="field1" type="INTEGER" required="true" />
<column name="field2" type="INTEGER" required="true" />
<column name="field3" type="INTEGER" />
<column name="field4" type="INTEGER" />
<column name="field5" type="INTEGER" />
我想确保field1
+ field2
组合不会被多次使用,所以除了id之外我还将它们作为主键添加,但是这会产生问题尝试使用findPK()
。我希望将自动递增的ID作为主键,但我还要确保组合field1
+ field2
不会多次输入。
<column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true" />
<column name="field1" type="INTEGER" required="true" primaryKey="true" />
<column name="field2" type="INTEGER" required="true" primaryKey="true" />
答案 0 :(得分:4)
尝试在这些字段上设置唯一索引,例如:
<unique>
<unique-column name="/field1/" />
<unique-column name="/field2/" />
</unique>
答案 1 :(得分:0)
以下是yaml
的学说答案Pet:
columns:
pet_name: {type: string(32)}
owner_id: {type: integer}
indexes:
owner_name:
fields: [pet_name, owner_id]
type: unique