Tôi không thể nghĩ ra bất kỳ cách nào để làm điều này với MySQL tiêu chuẩn.
Bạn có thể viết một plugin cho MySQL Proxy , quản lý tính toàn vẹn tham chiếu giữa bảng mẹ và bảng con trên các máy chủ khác nhau:
-
Chặn
INSERTvàUPDATEchống lại bảng con. Truy vấn để khớp hàng trong bảng mẹ. Không thành côngINSERT/UPDATEnếu không tìm thấy kết quả phù hợp nào trong bảng chính. -
Chặn
DELETEchống lại bảng cha. Truy vấn các hàng phụ thuộc trong bảng con. Không thành côngDELETEnếu tìm thấy bất kỳ hàng phụ thuộc nào trong bảng con. Nếu ràng buộc nhằm hỗ trợ hành vi xếp tầng, hãy làm điều đó thay vì thất bại. -
Đánh chặn
UPDATEchống lại bảng cha. Nếu giá trị khóa chính thay đổi như một phần của bản cập nhật, hãy truy vấn các hàng phụ thuộc được tìm thấy trong bảng con. Không thành côngUPDATEnếu tìm thấy bất kỳ hàng phụ thuộc nào trong bảng con. Nếu ràng buộc nhằm hỗ trợ hành vi xếp tầng, hãy làm điều đó thay vì thất bại.
Lưu ý rằng bạn phải giữ thông tin về các ràng buộc toàn vẹn tham chiếu trong plugin MySQL Proxy của bạn (hoặc viết tệp cấu hình tùy chỉnh cho plugin của bạn để ghi lại các mối quan hệ). Bạn không thể sử dụng FOREIGN KEY thông thường cú pháp để khai báo các ràng buộc như vậy trên các phiên bản MySQL.