Sql 按其他列分组的唯一约束
我有一个表,它有一个父id列和一个序列号列, 我想通过父id在序列号上创建一个唯一的约束Sql 按其他列分组的唯一约束,sql,oracle,ddl,unique-constraint,composite-key,Sql,Oracle,Ddl,Unique Constraint,Composite Key,我有一个表,它有一个父id列和一个序列号列, 我想通过父id在序列号上创建一个唯一的约束 这意味着具有相同父id的行不能具有相同的序列号,但具有不同父id的行可以具有相同的序列号。这看起来像一个复合唯一键。以下是使用唯一索引执行此操作的一种方法: create unique index myindex on mytable(father_id, serial_number); 或者在create table语句中,使用唯一约束: create table mytable ( fathe
这意味着具有相同父id的行不能具有相同的序列号,但具有不同父id的行可以具有相同的序列号。这看起来像一个复合唯一键。以下是使用唯一索引执行此操作的一种方法:
create unique index myindex on mytable(father_id, serial_number);
或者在create table
语句中,使用唯一约束:
create table mytable (
father_id int,
serial_number int,
constraint myconstraint unique (father_id, serial_number)
);
这看起来像一个复合唯一键。以下是使用唯一索引执行此操作的一种方法:
create unique index myindex on mytable(father_id, serial_number);
或者在create table
语句中,使用唯一约束:
create table mytable (
father_id int,
serial_number int,
constraint myconstraint unique (father_id, serial_number)
);
要重新表述该要求,您希望父id和序列号的组合是唯一的。一旦需求这样表述,就更容易转换为SQL:
altertablemytable
添加约束mytable\u unq UNIQUE(父\u id、序列号);
要重新表述该要求,您希望父亲id和序列号的组合是唯一的。一旦需求这样表述,就更容易转换为SQL:
altertablemytable
添加约束mytable\u unq UNIQUE(父\u id、序列号);