2016-03-28 12 views
0

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) 

enter image description here

+0

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. –

+0

Her iki tablo şeması aynıdır (veri türü int (11)) – dev1

+0

gösterebilir misiniz her iki tablo için "tablo oluştur tablosunu göster" çıktı. –

cevap

0

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 
+0

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

0

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.

+0

Cevabım muhtemelen Olanların nedeni. –

İlgili konular