Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dowiedz się, który wiersz nie powiódł się podczas dodawania ograniczenia w MySQL

Najpierw sprawdź, czy istnieje tabela kategorii, do której próbujesz zaimportować te dane.

jeśli istnieje tabela kategorii, należy sprawdzić, czy wszystkie identyfikatory kategorii w tej tabeli powinny istnieć w tabeli kategorii jako identyfikator.

Lepszą opcją jest zaimportowanie pierwszej tabeli kategorii, a następnie tej tabeli.

W ogólnym przypadku najpierw wszystkie dane z tabel nadrzędnych powinny zostać zaimportowane, a następnie tabele podrzędne.

Brudny sposób jest zgodny z poniższym, co nie jest zalecane-

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

Wystarczy wiedzieć, który wiersz powoduje problem-

Poniższe zapytanie dostarczy problematycznych wierszy.

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

Uwaga:Zakładając, że kategoria_id w category_term i id w tabelach kategorii zostaną zindeksowane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importuj dane z Excela do tabel relacyjnych w MySQL

  2. Jak mogę przepisać to zapytanie, aby uniknąć błędu:Nie można określić tabeli docelowej do aktualizacji w klauzuli FROM

  3. Jak wstawić wiele rekordów w jednej podróży do bazy danych za pomocą PDO?

  4. Przygotowana instrukcja MYSQLI typy bind_param nie działa

  5. CurrentUtcDateTime nie istnieje — Entity Framework i MySql