sql >> Database >  >> RDS >> Mysql

Ontdek welke rij mislukt bij het toevoegen van een beperking in MySQL

Controleer eerst of er een categorietabel bestaat waarin u deze gegevens probeert te importeren.

als de categorietabel bestaat, moet u controleren of alle categorie_id's in deze tabel als id in de categorietabel moeten staan.

Een betere optie is om de eerste categorietabel en dan deze tabel te importeren.

In het algemeen moeten eerst alle bovenliggende tabellen worden geïmporteerd en vervolgens onderliggende tabellen.

Een vuile manier is zoals hieronder, wat niet wordt aanbevolen-

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

Gewoon om te weten welke rij het probleem veroorzaakt-

Onderstaande zoekopdracht levert problematische rijen op.

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

Opmerking:ervan uitgaande dat category_id in category_term en id in categorietabellen worden geïndexeerd.



  1. Hoe kan ik een externe sleutelbeperking afdwingen van niet-gerelateerde tabellen in Mysql?

  2. Leer - subquery in from

  3. MySQL-Python-installatie - Kon het ei niet bouwen

  4. Mysql Left Join Null Resultaat