Mysql
 sql >> база данни >  >> RDS >> Mysql

Разберете кой ред не успява при добавяне на ограничение в MySQL

Първо проверете дали съществува таблица с категории, където се опитвате да импортирате тези данни.

ако съществува таблица с категории, тогава трябва да проверите дали целият идентификатор на категория в тази таблица трябва да съществува в таблицата с категории като идентификатор.

По-добрият вариант е да импортирате таблица от първа категория и след това тази таблица.

В общия случай първо трябва да се импортират всички родителски таблици, след това дъщерни таблици.

Мръсният начин е както е по-долу, който не се препоръчва-

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

Просто за да разберете кой ред създава проблем-

Заявката по-долу ще ви предостави проблемни редове.

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

Забележка:Ако приемем, че категория_id в категория_термин и идентификатор в таблиците с категории ще бъдат индексирани.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. чат сървър:кой е най-добрият (оптимизиран) начин за запазване на дневник за разговори

  2. Грешка при хибернация при изпълнение на DDL чрез JDBC изявление

  3. Как да се показват бирмански знаци на уебсайта и да се записват в MySQL, ако потребителят няма шрифта?

  4. Дефиниране на композитен ключ с автоматично увеличение в MySQL

  5. Как да изтрия първите 3 знака в mysql?