Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 按其他列分组的唯一约束_Sql_Oracle_Ddl_Unique Constraint_Composite Key - Fatal编程技术网

Sql 按其他列分组的唯一约束

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在序列号上创建一个唯一的约束


这意味着具有相同父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、序列号);