2015-07-10 13 views
6

Tôi có thể thêm ràng buộc khóa ngoài vào MYSQL khi bảng tham chiếu thực sự là một khung nhìn không?mysql thêm ràng buộc khóa ngoài tham chiếu một khung nhìn

Dựa trên những điều sau đây tôi có thể tự hỏi rằng một cái bàn và một cái nhìn được coi là định dạng khác nhau https://stackoverflow.com/a/31183407/1342636

Dường như với tôi điều này không được cho phép, nhưng tôi đã không nhìn thấy bất kỳ mà thực sự khẳng định đó là không được phép.

Trả lời

9

Để trường được xác định là foreign key, trường mẹ được tham chiếu phải có chỉ mục được xác định trên trường đó.

Theo tài liệu trên foreign key constraints:

THAM KHẢO parent_tbl_name (index_col_name, ...)

như quan điểm là bảng ảo, tất cả các lĩnh vực của nó cũng là ảo.
Và xác định index không được hỗ trợ trên các trường virutal.

Theo tài liệu trên Restrictions on Views:

Nó không phải là có thể tạo ra một chỉ mục trên một cái nhìn.

Và do đó bạn không thể sử dụng bảng ảo, tức là bảng cha tham chiếu (không hỗ trợ chỉ mục) để xác định và ánh xạ khóa ngoài để tạo bảng con.

Ví dụ:
enter image description here

+0

Rất chi tiết và đầy đủ câu trả lời. cảm ơn. – melutovich

Các vấn đề liên quan