Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Descubra qual linha falha ao adicionar uma restrição no MySQL


Primeiro verifique se existe uma tabela de categorias onde você está tentando importar esses dados.

se a tabela Category existir, será necessário verificar se todos os category_id nesta tabela devem existir na tabela Category como id.

A melhor opção é importar a primeira tabela de categorias e depois esta tabela.

Em geral, primeiro todos os dados das tabelas pai devem importar e depois as tabelas filhas.

Uma maneira suja é conforme abaixo, o que não é recomendado -
set foreign_key_checks=0;
import data here;
set foreign_key_checks=1;

Só para saber qual linha está criando problema-

A consulta abaixo fornecerá linhas problemáticas.
SELECT a.category_id FROM Category_Term a 
  LEFT JOIN Category b ON a.category_id=b.id 
  WHERE b.id IS NULL;

Nota:Assumir category_id em category_term e id nas tabelas de categorias serão indexados.