Mysql
 sql >> Base de données >  >> RDS >> Mysql

Découvrez quelle ligne échoue lors de l'ajout d'une contrainte dans MySQL

Vérifiez d'abord si la table de catégories existe là où vous essayez d'importer ces données.

si la table de catégories existe, vous devez vérifier que tous les category_id de cette table doivent exister dans la table de catégories en tant qu'id.

La meilleure option consiste à importer la première table de catégories, puis cette table.

Dans le générique, toutes les données des tables parents doivent d'abord être importées, puis les tables enfants.

Une voie sale est comme ci-dessous, ce qui n'est pas recommandé-

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

Juste pour savoir quelle ligne pose problème-

La requête ci-dessous vous fournira des lignes problématiques.

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

Remarque :En supposant que category_id dans category_term et id dans les tables de catégories seront indexés.