Mysql
 sql >> Database >  >> RDS >> Mysql

Scopri quale riga non riesce ad aggiungere un vincolo in MySQL

Innanzitutto controlla se esiste una tabella di categoria in cui stai tentando di importare questi dati.

se la tabella di categoria esiste, è necessario verificare che tutti i category_id in questa tabella debbano esistere nella tabella di categoria come id.

L'opzione migliore è importare la prima tabella delle categorie e poi questa tabella.

In generico prima tutti i dati delle tabelle padre dovrebbero importare poi le tabelle figlie.

Un modo sporco è come di seguito che non è raccomandato-

set foreign_key_checks=0;
import data here;
set foreign_key_checks=1;

Solo per sapere quale riga sta creando problemi-

La query sottostante ti fornirà le righe problematiche.

SELECT a.category_id FROM Category_Term a 
  LEFT JOIN Category b ON a.category_id=b.id 
  WHERE b.id IS NULL;

Nota:presupponendo che category_id in category_term e id nelle tabelle di categoria verranno indicizzati.