Tôi đang thiết lập cơ sở dữ liệu bằng phpMyAdmin. Tôi có hai bảng ( foo
và bar
), được lập chỉ mục trên các khóa chính của chúng . Tôi đang cố gắng tạo một bảng quan hệ (foo_bar
) giữa chúng, sử dụng các khóa chính của chúng làm khóa ngoại.
Tôi đã tạo các bảng này là MyISAM, nhưng đã thay đổi cả ba bảng thành InnoDB, vì tôi đọc rằng MyISAM không hỗ trợ khóa ngoại. Tất cả các id
lĩnh vực làINT(11)
.
Khi tôi chọn foo_bar
bảng, hãy nhấp vào liên kết "chế độ xem quan hệ" và thử đặt các cột FK thành database.foo.id
và database.bar.id
, thông báo "Không xác định chỉ mục!"bên cạnh mỗi cột.
Tôi đang thiếu gì?
Làm rõ / Cập nhật
Để đơn giản, tôi muốn tiếp tục sử dụng phpMyAdmin. Tôi hiện đang sử dụng XAMPP, đủ dễ để tôi tập trung vào PHP / CSS / Javascript và nó đi kèm với phpMyAdmin.
Ngoài ra, mặc dù tôi chưa thể thiết lập các khóa ngoại rõ ràng, nhưng tôi có một bảng quan hệ và có thể thực hiện các phép nối như thế này:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Nó chỉ khiến tôi không thoải mái khi không có FK được xác định rõ ràng trong cơ sở dữ liệu.