ฉันได้รับข้อความแสดงข้อผิดพลาดนี้:
ข้อผิดพลาด 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)
กล่าวคือไม่มีชื่อสคีมาในการอ้างอิงตาราง: -?