1215: Не удаётся добавить ограничение внешнего ключа
MySQLЧто это значит?
Определяемое ограничение внешнего ключа не может быть создано; MySQL не может добавить ограничение.
Почему возникает?
Несоответствие типа данных/длины/знаковости (signed-unsigned) или набора символов/сортировки между дочерним и ссылочным столбцами, отсутствие подходящего индекса/PRIMARY KEY на ссылочном столбце, таблицы с разными механизмами хранения (одна из них MyISAM) или ссылочная таблица ещё не существует.
Как исправить
Убедитесь, что типы столбцов с обеих сторон В ТОЧНОСТИ совпадают (например, оба INT UNSIGNED). Убедитесь, что ссылочный столбец обеспечен индексом (обычно PRIMARY KEY или UNIQUE). Убедитесь, что обе таблицы — InnoDB. Для строковых ключей используйте одинаковые charset/collation. Подробности: SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR).
Ещё по этой СУБД
- 2003Не удаётся подключиться к серверу MySQL (TCP/IP)
- 2006MySQL server has gone away (соединение с сервером потеряно)
- 1114Таблица заполнена
- 1451Не удаётся удалить или обновить родительскую строку: нарушено ограничение внешнего ключа
- 1452Не удаётся добавить или обновить дочернюю строку: нарушено ограничение внешнего ключа
- 1366Некорректное строковое/целое значение для столбца
- 1044Доступ пользователя к базе данных запрещён