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
INSERT
vàUPDATE
chống lại bảng con. Truy vấn để khớp hàng trong bảng mẹ. Không thành côngINSERT
/UPDATE
nếu không tìm thấy kết quả phù hợp nào trong bảng chính. -
Chặn
DELETE
chố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ôngDELETE
nế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
UPDATE
chố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ôngUPDATE
nế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.