yana mevcut tabloda# 1452-Can eklemek veya bir alt satır güncellemek değil: Bir yabancı anahtar kısıtlaması başarısız (`testdatabase`.` # sql-1
ALTER TABLE retailer_commission ADD FOREIGN KEY (Retailer_Id) REFERENCES retailer(Id)
yana mevcut tabloda# 1452-Can eklemek veya bir alt satır güncellemek değil: Bir yabancı anahtar kısıtlaması başarısız (`testdatabase`.` # sql-1
ALTER TABLE retailer_commission ADD FOREIGN KEY (Retailer_Id) REFERENCES retailer(Id)
yabancı anahtarı eklemek nasıl retailer_commission
tablodaki Retailer_id
sütuna ve retailer
tabloda Id
sütunun tipleri aynı tip (int(11)
), sizin hata için başka bir açıklaması olmalı her ikisi de.
bir olasılıkla e xplanation, retailer_commission
tablonun retailer
no'lu kayıtta bulunan Retailer_id
değerlerine sahip kayıtları içermesidir. Aşağıdaki sorgu size boş olmayan bir dizi verirse
, kayıtları problemli olarak kabul edilmelidir döndü:
SELECT rc.*
FROM retailer_commission rc LEFT JOIN retailer r
ON rc.Retailer_id = r.Id
WHERE r.Id IS NULL
Bu sorguyu kullanıyorum , Sorgu çalışma güzel sonuç görüntülendi.Yeni hata görüntüleniyor "# 1452 - Bir çocuk satırı eklenemiyor veya güncellenemiyor: Yabancı anahtar kısıtlaması başarısız oluyor (' testdatabase'.' # sql-15c0_dc', CONSTRAINT " – dev1
Sorun nedeni olan kayıtların çok şey var yabancı anahtar tabloda, çözüldüğünü Bu hata oluştu, bu tabloyu (Yabancı tablo) keser ve sonra "ALTER TABLE retailer_commission ADD FOREIGN KEY (Retailer_Id) REFERANSLAR satıcı (Id)", Query başarıyla gerçekleştirilmiştir.
Cevabım muhtemelen Olanların nedeni. –
iki tabloyu da göster (ana/istemci) şeması ... her iki sütun da şema/veri türü/özellikleri aynı değil gibi görünür. –
Her iki tablo şeması aynıdır (veri türü int (11)) – dev1
gösterebilir misiniz her iki tablo için "tablo oluştur tablosunu göster" çıktı. –