主键和外键,主键时是复合的订单

问题描述 投票:0回答:1

我想了解一下句子的顺序很重要

主键(X,Y,Z)

外键(X,Y)

在下面的例子:

create table Angazovanje (
  DatumOd date not null,
  SifraRM numeric not null,
  SifraRadnika numeric not null,
  DatumDo date null,
  primary key (DatumOd, SifraRM, SifraRadnika),
  foreign key (SifraRM) references RadnoMesto (SifraRM),
  foreign key (SifraRadnika) references Zaposleni (SifraRadnika)
);

主键首先被设置,然后我设定的外键。我的数据以这种方式工作。我一直然而告知可能出现故障,我应该把外键,然后再主键。

我可能会得到怎样这可能会导致一个错误,为什么一个例子吗?因为我真的不明白是什么命令有什么关系。

sql sql-server
1个回答
0
投票

您的代码是好的。在一个create table没有必要关注这类声明的顺序。

就个人而言,我使用合成键 - 一个简单的identity()关键。这可以内嵌声明,而不是作为一个单独的声明。

在一般情况下,你需要确保主键和表的外键定义。然而,这通常是在表级别,而不是一个表内。

© www.soinside.com 2019 - 2024. All rights reserved.