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

MySQL:ГРЕШКА 1215 (HY000):Не може да се добави ограничение за външен ключ

Когато получите това неясно съобщение за грешка, можете да разберете по-конкретната грешка, като стартирате

SHOW ENGINE INNODB STATUS;

Най-честите причини са, че когато създавате външен ключ, както референтното поле, така и полето за външен ключ трябва да съвпадат:

  • Двигател трябва да е същото напр. InnoDB
  • Тип данни трябва да са еднакви и с еднаква дължина.
    напр. VARCHAR(20) или INT(10) UNSIGNED
  • Сравняване трябва да е същото. напр. utf8
  • Уникален - Външният ключ трябва да се отнася до поле, което е уникално (обикновено частно) в справочната таблица.

Друга причина за тази грешка е:
Вие сте дефинирали условие SET NULL, въпреки че някои от колоните са дефинирани като NOT NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да избера подобни редове в две различни таблици в MySQL (възможно ли е?)

  2. Последици за производителността от разрешаването на използването на псевдоним в клаузата HAVING

  3. Как да проверите състоянието на връзката на MySQL в C#

  4. Основите на настройката на MySQL на специализирани сървъри

  5. Намерете най-близкото местоположение по пощенски код?