Ich versuche, eine Datenbank auf MySQL Workbench zu entwickeln, aber ich bekomme ständig diese Fehlermeldung. Ich denke, es ist wahrscheinlich ein Problem mit der Struktur meiner Beziehungen, aber ich kann keine Diskrepanz finden.MYSQL Workbench - FEHLER: Fehler 1215: Kann keine Fremdschlüsseleinschränkung hinzufügen
Hier ist ein Bild des Schemadiagramms. Hier
ist die Fehlermeldung erhalte ich:
Executing SQL script in server
ERROR: Error 1215: Cannot add foreign key constraint
SQL Code:
-- -----------------------------------------------------
-- Table `bturpin`.`THREAD`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `bturpin`.`THREAD` (
`id` INT NOT NULL AUTO_INCREMENT,
`answer` DOUBLE NULL,
`comment` VARCHAR(255) NULL,
`test_subcategory_name` VARCHAR(45) NULL,
`RATING_id` INT NOT NULL,
`RATING_INSTRUCTOR_id` VARCHAR(30) NOT NULL,
`RATING_INSTRUCTOR_LESSON_title` VARCHAR(45) NOT NULL,
`RATING_INSTRUCTOR_LESSON_COURSE_num` VARCHAR(15) NOT NULL,
`RATING_RATER_id` VARCHAR(30) NOT NULL,
PRIMARY KEY (`id`, `RATING_id`, `RATING_INSTRUCTOR_id`, `RATING_INSTRUCTOR_LESSON_title`, `RATING_INSTRUCTOR_LESSON_COURSE_num`, `RATING_RATER_id`),
INDEX `fk_THREAD_RATING1_idx` (`RATING_id` ASC, `RATING_INSTRUCTOR_id` ASC, `RATING_INSTRUCTOR_LESSON_title` ASC, `RATING_INSTRUCTOR_LESSON_COURSE_num` ASC, `RATING_RATER_id` ASC),
CONSTRAINT `fk_THREAD_RATING1`
FOREIGN KEY (`RATING_id` , `RATING_INSTRUCTOR_id` , `RATING_INSTRUCTOR_LESSON_title` , `RATING_INSTRUCTOR_LESSON_COURSE_num` , `RATING_RATER_id`)
REFERENCES `bturpin`.`RATING` (`id` , `INSTRUCTOR_id` , `INSTRUCTOR_LESSON_title` , `INSTRUCTOR_LESSON_COURSE_num` , `RATER_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
SQL script execution finished: statements: 14 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
Mögliche Duplikat [MySQL Fehler 1215: Kann nicht über Fremdschlüssel hinzufügen] (http://stackoverflow.com/questions/16969060/mysql-error-1215-cannot-add-foreign-key -constraint) – Jocelyn
Stellen Sie sicher, dass 'RATING' einen zusammengesetzten Index für' (id, INSTRUCTOR_id, INSTRUCTOR_LESSON_title, INSTRUCTOR_LESSON_COURSE_num, RATER_id) hat. – Barmar
Sie können nur einen Fremdschlüssel verwenden, der auf ein eindeutiges Feld verweist. Und ich würde auch vorschlagen, wenn Sie versuchen können, den Datentyp und die Länge des Fremdschlüssels und des Referenzschlüssels gleich zu machen? – Dharam