我有2個表:SQL服務器的複合鍵問題
create table numbers2
(
id1 int IDENTITY(1,1) not null,
id2 int not null,
primary key(id1, id2)
)
和表2
create table ttt
(
id int identity(1,1) not null,
first_name varchar(50) null,
last_name varchar(50) null,
sex varchar(1) check (sex in ('m', 'f')) null,
number_id int not null,
id_id1 int not null,
id_id2 int not null,
primary key(id),
constraint fk_numbers_id1 foreign key (id_id1) references numbers2(id1)
on update no action
on delete no action
)
的問題是如何添加約束「fk_numbers_id1」,所以它只會引用複合物的一個組成部分從表number2鍵。有沒有可能或有其他解決方案?
表1你有一個獨特的PK(在IDENTITY 1,1),是否有什麼理由需要在其中包含id2? – 2010-07-08 15:35:42
這是一個簡化的例子,我真正的應用程序包含更復雜的表格,我實際上是將一些代碼從mysql移植到mssql,但是在mssql中有些語句停止工作 – Blablablaster 2010-07-08 15:49:21
感謝您的幫助,唯一的約束就是我正在尋找的東西! – Blablablaster 2010-07-08 15:50:43