sql >> Databáze >  >> RDS >> Mysql

Zjistěte, který řádek selže při přidání omezení v MySQL

Nejprve zkontrolujte, zda existuje tabulka kategorií, kam se pokoušíte importovat tato data.

pokud tabulka kategorií existuje, je třeba zkontrolovat, zda by všechna category_id v této tabulce měla existovat v tabulce kategorií jako id.

Lepší možností je importovat první tabulku kategorií a poté tuto tabulku.

Obecně by se měla nejprve importovat data všech nadřazených tabulek a poté podřízené tabulky.

Špinavá cesta je podle níže uvedeného, ​​což se nedoporučuje -

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

Jen abyste věděli, který řádek způsobuje problém-

Níže uvedený dotaz vám poskytne problematické řádky.

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

Poznámka:Za předpokladu, že category_id v category_term a id v tabulkách kategorií budou indexovány.



  1. SQL Server 2008 – Jak vrátím uživatelsky definovaný typ tabulky z funkce s hodnotou tabulky?

  2. Najděte řádek s maximální hodnotou id v MySQL

  3. Codeigniter zobrazuje prázdnou stránku bez chyby

  4. Při instalaci balíčku došlo k chybě s MySql