Я получаю это сообщение об ошибке:
ОШИБКА 1217 (23000) в строке 40: невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполнено.
... когда я пытаюсь сбросить стол:
DROP TABLE IF EXISTS `area`;
... определяется так:
CREATE TABLE `area` (
`area_id` char(3) COLLATE utf8_spanish_ci NOT NULL,
`nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`area_id`),
UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
Забавно то, что я уже отбросил все другие таблицы в схеме, против которых есть внешние ключи area
. Собственно база пуста, кроме area
таблицы.
Как у него могут быть дочерние строки, если в базе данных нет другого объекта? Насколько я знаю, InnoDB не позволяет использовать внешние ключи для других схем, не так ли?
(Я даже могу запустить RENAME TABLE area TO something_else
команду: -?)
CONSTRAINT fk_servicio_area1 FOREIGN KEY (area_id) REFERENCES area (area_id)
, т. Е. Без имени схемы в ссылке на таблицу: -?