PhpMyAdmin?yabancı anahtarları ayarlama
Bir veritabanı phpMyAdmin kullanarak kuruyorum. İki tablo (foo
bar
) varbirincil anahtarları endeksli. İlişkisel bir tablo (foo_bar
) aralarında, yabancı anahtar, birincil anahtar kullanarak oluşturmak için çalışıyorum.
Bu hali hazırda yabancı anahtarları desteklemiyor okudum çünkü hali hazırda bu tabloları oluşturdum, ama beri Orada üç değişti. id
tüm alanları INT(11)
.
foo_bar
masa seçin, tıklayın "bağlantı görünümü" linkine tıklayın ve FK sütunları ayarlamak için deneyin. database.foo.id
database.bar.id
diyor"Hayır indeks tanımlanmış!"her sütunun yanında.
Neyi kaçırıyorum?
Açıklama/Güncelleme
Basitlik için, phpMyAdmin kullanmaya devam etmek istiyorum. Şu anda yeterince kolay bana PHP/CSS/Javascript odaklanalım için ÖNCELİKLİ olarak kullanarak, benim ve mod geliyor.
Açık yabancı anahtarları ayarlamak mümkün henüz gitmedim, ancak aynı zamanda, ilişkisel bir tablo var ve bu gibi birleşimler
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
Beni rahatsız ediyor.
CEVAP
Eğer phpMyAdmin ilişkiler kurmak için kullanmak istiyorsanız 2 şeye sahip olmanız gerekir. Bağlıyordum tabloda bir yabancı anahtar sütununa bir dizin (foo_bar.tanımlamak gerekir öncelikle senin durumunda foo_id,). Daha sonra, bağlantı görünümü (bağlıyordum tablo) gidip sevk sütunu seçin (yani senin durumunda foo.ıd) ve delete eylemleri üzerinde güncelleme ve.
Yabancı anahtarlar eğer birden fazla tabloyu birbirine bağlı Eğer gerçekten faydalı olduğunu düşünüyorum, özellikle silmek komut eğer başvuru seçenekleri doğru ayarlarsanız çok kısa olacak.
EDİT: tabloların her ikisi de Orada olduğundan emin Olun motoru seçilmiş.
MySQL Bazı Yabancı anahtarları kaldırm...
Neden yabancı anahtarları uygulamada d...
Varlık Çerçevesi Kod İlk - iki Yabancı...
Nasıl bir tablo veya sütun için tüm ya...
Nasıl SQL Server belirli bir tabloya b...