Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
4256
Tıklama
0
Öne Çıkarma
sql... references, foreign key kullanımı hk.
D
16 yıl
Çavuş
Konu Sahibi

Merhaba arkadaslar,
sql ogrenmeye calisiyorum. Asagıdaki yaptıgım cok basit bir ornekte takıldım.
USE dreg
ALTER TABLE COMPANY
ADD CONSTRAINT fk_constraint FOREIGN KEY (age)
REFERENCES CLASS(age)
GO
USE dreg
SELECT name,company_name, commet
FROM IDENTITY1 JOIN COMPANY
ON no=number
JOIN CLASS
ON COMPANY.age=CLASS.age
GO

Tablolar hakkında bilgide vereyim:
IDENTITY1 tablosu no, name, surname alanlarına sahip.
COMPANY tablosu number, age, company_name alanlarına sahip.
CLASS tablosu age, comment alanlarına sahip.
Bu tablolardan name, company_name, commet alanlarından olusan bir tabloyu sonucta aldım. Ki istenen tabloda buydu.

Fakat yukardaki yazılan ornek calıstırdıgım zaman iki tane error uyarısı verdi.

There are no primary or candidate keys in the referenced table 'CLASS' that match the referencing column list in the foreign key 'fk_constraint'.

Could not create constraint. See previous errors.


Ama ben neden eror oldugunu anlamadım?
Ayrıca, FOREIGN KEY, REFERENCES yapısı hakkında bilgisi olan varsa, acıklar mısınız?

tesekkur ederim.



T
16 yıl
Çavuş

eğer class tablosuna bir primary key atarsan foreign key hangi satıra bağlanacağını anlayabilecektir. problem bu muhtemelen.


Bu mesaja 1 cevap geldi.
D
16 yıl
Çavuş
Konu Sahibi

tripanazomigam
belki bu olabilir ama



USE dreg
ALTER TABLE COMPANY
ADD CONSTRAINT fk_constraint FOREIGN
KEY (age)
CONSTRAINT Pk_CLASS PRIMARY KEY(age)
REFERENCES CLASS(age)
GO
USE dreg
SELECT name, company_name, comment
FROM IDENTITY1 JOIN COMPANY
ON no=number
JOIN CLASS
ON COMPANY.age=CLASS.age
GO

Yukarda belirttigim sekilde primary key atamaya calıstım .Bu seferde
Incorrect syntax near the keyword 'CONSTRAINT'. Bu error u verdi.
Nasil atanması gerekiyor primary key'in?

tesekkurler,





< Bu mesaj bu kişi tarafından değiştirildi discretion -- 7 Mart 2008; 0:13:22 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.