Ben phpMyAdmin kullanarak bir veritabanı kuruyorum. Birincil anahtarları dizine iki tablo ( foo
ve bar
) var . Birincil anahtarları yabancı anahtar olarak kullanarak aralarında ilişkisel bir tablo ( ) oluşturmaya çalışıyorum .foo_bar
Bu tabloları MyISAM olarak oluşturdum, ancak o zamandan beri üçünü de InnoDB olarak değiştirdim, çünkü MyISAM'in yabancı anahtarları desteklemediğini okudum. Tüm id
alanlar INT(11)
.
Ben seçtiğinizde foo_bar
tablo, "ilişki görünümü" bağlantısını tıklayın ve FK sütunlar olarak ayarlanır denemek database.foo.id
ve database.bar.id
diyor, "Hayır indeks tanımlı!" her sütunun yanında.
Neyi kaçırıyorum?
Açıklama / Güncelleme
Sadelik için phpMyAdmin kullanmaya devam etmek istiyorum. Şu anda bana PHP / CSS / Javascript odaklanmak izin kolay XAMPP kullanıyorum ve phpMyAdmin ile geliyor.
Ayrıca, henüz açık yabancı anahtarlar ayarlayamadım, ancak ilişkisel bir tablo var ve böyle birleşimler gerçekleştirebilirsiniz:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Sadece FK'ların veritabanında açıkça tanımlanmaması beni rahatsız ediyor.