Tôi nhận ra điều này là cũ trong một thời gian và một câu trả lời đã được chọn, nhưng làm thế nào về giải pháp thay thế để cho phép người nước ngoài chính là NULL và sau đó chọn ON DELETE SET NULL.
Về cơ bản, bảng của bạn nên được thay đổi như sau:
ALTER TABLE 'bericht' DROP FOREIGN KEY 'your_foreign_key';
ALTER TABLE 'bericht' ADD CONSTRAINT 'your_foreign_key' FOREIGN KEY ('column_foreign_key') REFERENCES 'other_table' ('column_parent_key') ON UPDATE CASCADE ON DELETE SET NULL;
Cá nhân tôi sẽ khuyên bạn sử dụng cả hai "ON UPDATE CASCADE" cũng như "ON DELETE SET NULL" để tránh các biến chứng không cần thiết, tuy nhiên thiết lập của bạn có thể dẫn đến một cách tiếp cận khác.
Hy vọng điều này sẽ hữu ích.
Nguồn
2017-05-09 10:31:27
Tìm hiểu xem bảng nào khác đang tham chiếu nó qua khóa ngoài và trước tiên hãy bỏ ràng buộc FK trên bảng đó, sau đó thả bảng này. –
Bạn cần xóa yêu cầu của các bảng khác trên bảng mà bạn không muốn thêm bất kỳ – BugFinder
Có bất kỳ câu trả lời nào trong số này giúp bạn không? http://stackoverflow.com/questions/1905470/cannot-delete-or-update-a-parent-row-a-foreign-key-constraint-fails http://stackoverflow.com/questions/3334619/cannot-delete-hoặc-update-a-parent-row-a-khoá-ngoài-ràng buộc-thất bại –