Hỏi về lỗi INSERT xung đột với Khóa ngoại

Em làm đồ án winform đến đoạn Thêm dữ liệu thì lại không được, thông báo lỗi là:
The INSERT statement conflicted with the FOREIGN KEY constraint
’FK_PrescriptionTb1_DoctorTb1’. The conflict occurred in database
’NTACIinic’, table ‘dbo.DoctorTb1’, column ‘Docld’.
The statement has been terminated.

Em tìm mọi cách fix mà không được chắc do kiến thức hạn hẹp của e, dữ liệu em insert của từng bảng tham chiếu đến đầy đủ tồn tại trong bảng mà cứ đến đoạn này là báo lỗi

diagram:

1 Like

đây là Diagram:

1 Like

Chào Tiến Anh,

Lỗi bạn đang gặp phải là lỗi xung đột khóa ngoại (foreign key constraint) khi bạn cố gắng thêm dữ liệu vào bảng PrescriptionTb1 mà giá trị của trường Docld không tồn tại trong bảng DoctorTb1. Điều này có thể xảy ra nếu bạn đang thêm một bản ghi với giá trị khóa ngoại (foreign key) không hợp lệ.

Để giải quyết vấn đề này, bạn cần kiểm tra lại dữ liệu bạn đang thêm vào bảng PrescriptionTb1 và đảm bảo rằng giá trị của trường Docld đã tồn tại trong bảng DoctorTb1. Nếu giá trị của trường Docld chưa tồn tại trong bảng DoctorTb1, bạn cần thêm bản ghi tương ứng vào bảng DoctorTb1 trước khi thêm bản ghi mới vào bảng PrescriptionTb1.

Nếu bạn đã chắc chắn rằng dữ liệu của bạn là chính xác và tồn tại trong cả hai bảng, thì có thể có vấn đề với khóa ngoại của bạn. Bạn cần kiểm tra lại khóa ngoại (foreign key) trong bảng PrescriptionTb1 và đảm bảo rằng nó trỏ đến trường chính (primary key) của bảng DoctorTb1. Nếu bạn đã chắc chắn rằng khóa ngoại của bạn là chính xác, bạn có thể cần xem xét việc kiểm tra lại các ràng buộc (constraints) trong cơ sở dữ liệu của bạn để đảm bảo rằng chúng không bị xung đột với nhau.

Nếu sau khi kiểm tra lại và đảm bảo rằng dữ liệu của bạn là chính xác và các ràng buộc của bạn không bị xung đột với nhau mà vẫn gặp phải lỗi này, bạn có thể cần xem xét việc tạo lại khóa ngoại hoặc cập nhật các ràng buộc của bạn để phù hợp hơn với yêu cầu của dự án của bạn.

Chúc bạn học SQL vui vẻ nhé!

1 Like

Sao a nói giống cbatgpt thế, em cx thử r mà k ra

2 Likes

bạn sửa được chưa vậy

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?