DBAtlas · Veritabanı operasyon atlası

1215: Cannot add foreign key constraint

MySQL

Ne demek?

Tanımlanmak istenen foreign key constraint'i oluşturulamıyor; MySQL constraint'i ekleyemiyor.

Neden olur?

Ana ve referans sütunların veri türü/uzunluk/işaret (signed-unsigned) ya da karakter kümesi/collation uyuşmazlığı, referans edilen sütunda uygun bir index/PRIMARY KEY olmaması, tabloların farklı depolama motoru (biri MyISAM) kullanması veya referans tablonun henüz olmaması.

Nasıl çözülür?

İki tarafın sütun türlerinin BİREBİR aynı olduğundan emin olun (örn. ikisi de INT UNSIGNED). Referans edilen sütunun bir index ile (genelde PRIMARY KEY veya UNIQUE) desteklendiğini doğrulayın. Her iki tablonun da InnoDB olduğundan emin olun. String anahtarlarda aynı charset/collation kullanın. Ayrıntı için: SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR).

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar