DBAtlas · Атлас эксплуатации баз данных

1215: Не удаётся добавить ограничение внешнего ключа

MySQL

Что это значит?

Определяемое ограничение внешнего ключа не может быть создано; MySQL не может добавить ограничение.

Почему возникает?

Несоответствие типа данных/длины/знаковости (signed-unsigned) или набора символов/сортировки между дочерним и ссылочным столбцами, отсутствие подходящего индекса/PRIMARY KEY на ссылочном столбце, таблицы с разными механизмами хранения (одна из них MyISAM) или ссылочная таблица ещё не существует.

Как исправить

Убедитесь, что типы столбцов с обеих сторон В ТОЧНОСТИ совпадают (например, оба INT UNSIGNED). Убедитесь, что ссылочный столбец обеспечен индексом (обычно PRIMARY KEY или UNIQUE). Убедитесь, что обе таблицы — InnoDB. Для строковых ключей используйте одинаковые charset/collation. Подробности: SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR).

Открыть в DBAtlas →

Ещё по этой СУБД