Bu hata mesajını alıyorum:
40. satırdaki ERROR 1217 (23000): Bir üst satır silinemez veya güncellenemez: yabancı anahtar kısıtlaması başarısız olur
... masayı düşürmeye çalıştığımda:
DROP TABLE IF EXISTS `area`;
... şu şekilde tanımlanmıştır:
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;
Komik olan, şemadaki yabancı anahtarlara karşı olan diğer tüm tabloları zaten düşürmüş olmamarea . Aslında, areatablo dışında veritabanı boş .
Veritabanında başka nesne yoksa nasıl alt satırlara sahip olabilir? Bildiğim kadarıyla InnoDB diğer şemalarda yabancı anahtarlara izin vermiyor, değil mi?
(Bir RENAME TABLE area TO something_elsekomutu bile çalıştırabilirim : -?)
CONSTRAINT fk_servicio_area1 FOREIGN KEY (area_id) REFERENCES area (area_id), yani tablo başvurusunda şema adı yok: -?