Tôi đã cố giải quyết lỗi này trong vài phút nhưng tôi không biết Tôi bị thiếu từ định nghĩa bảng.Máy chủ SQL: không có khóa chính hoặc khóa ứng viên nào trong bảng được tham chiếu khớp với danh sách cột tham chiếu trong khóa ngoại 'FK'
Mã cho các bảng dưới:
Bảng Autocare
:
CREATE TABLE [dbo].[Autocare]
(
[IDAutocar] NUMERIC (18, 0) NOT NULL,
[IDTipAutocar] NUMERIC (18, 0) NOT NULL,
PRIMARY KEY CLUSTERED ([IDAutocar] ASC, [IDTipAutocar] ASC),
CONSTRAINT [FK_Autogari_TipAutocar]
FOREIGN KEY ([IDTipAutocar])
REFERENCES [dbo].[TipAutocar] ([IDTipAutocar])
);
Bảng Curse
:
CREATE TABLE [dbo].[Curse]
(
[IDCursa] NUMERIC (18, 0) NOT NULL PRIMARY KEY,
[IDTraseu] NUMERIC (18, 0) NOT NULL,
[Data] TIMESTAMP NOT NULL,
[IDCompanie] NUMERIC (18, 0) NOT NULL,
[NrLocuri] NUMERIC (18, 0) NOT NULL,
[IDAutocar] NUMERIC (18, 0) NOT NULL,
CONSTRAINT [FK_Curse_Trasee]
FOREIGN KEY ([IDTraseu])
REFERENCES [Trasee]([IDTraseu]),
CONSTRAINT [FK_Curse_Companii]
FOREIGN KEY ([IDCompanie])
REFERENCES [Companii]([IDCompanie]),
CONSTRAINT [FK_Curse_Autocare]
FOREIGN KEY ([IDAutocar])
REFERENCES [Autocare]([IDAutocar])
)
Khi tôi cố gắng thực thi kịch bản thứ hai tôi nhận được lỗi sau (và tôi biết là một cái gì đó liên quan đến mối quan hệ giữa các bảng) và tôi không tìm ra vấn đề có thể xảy ra ở đâu. Tôi là một newbie vào C# và SQL Server, vì vậy hãy tha thứ nếu tôi hỏi một câu hỏi ngu ngốc.
Msg 1776, Level 16, State 0, Line 1
Không có khóa chính hoặc ứng cử viên trong tham chiếu bảng 'AutoCare' phù hợp với danh sách cột tham khảo trong khóa nước ngoài FK_Curse_Autocare '.Msg 1750, Cấp 16, Tiểu bang 0, Dòng 1
Không thể tạo ràng buộc. Xem các lỗi trước đó.
Bạn có PK tổng hợp trong bảng đầu tiên của hai cột và chỉ tạo FK trên một cột. Đây là vấn đề. Bạn nên thêm cột IdTipAutocar vào bảng thứ hai và tạo FK trên cả cột này và cột IDAutocar. –
có thể trùng lặp của [Không có khóa chính hoặc khóa ứng cử viên nào trong bảng được tham chiếu khớp với danh sách cột tham chiếu trong khoá ngoại] (http://stackoverflow.com/questions/17879735/there-are-no-primary-or- ứng cử viên-khóa-trong-tham chiếu-bảng-đó-phù hợp-the-re) – jpw
Có thể trùng lặp của [Không có khóa chính hoặc ứng cử viên nào trong bảng được tham chiếu] (https://stackoverflow.com/questions/12213301/ có-không-không-chính-hoặc-ứng viên-khóa-trong-tham chiếu-bảng) –