2016-07-01 12 views
0

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 Here is an image of the schema diagram.

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 
+0

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

+0

Stellen Sie sicher, dass 'RATING' einen zusammengesetzten Index für' (id, INSTRUCTOR_id, INSTRUCTOR_LESSON_title, INSTRUCTOR_LESSON_COURSE_num, RATER_id) hat. – Barmar

+0

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

Antwort

0

Try-Weiterleitung in dieser Reihenfolge:

  1. manuell die Felder erstellen, die einen Fremdschlüssel in MySQL WB
  2. haben muss
  3. Forward engineer zu Ihrem DB
  4. Erstellen Sie manuell die Fremdschlüsseleinschränkungen in MySQL WB
  5. Vorwärts Ingenieur angain

Sie auch nur integer Fremdschlüssel betrachten kann.

Dies scheint ein MySQL Workbench-Problem mit Fremdschlüssel auf nicht ganzzahligen Schlüssel zu sein.

Quelle: Error 1215: Cannot add foreign key constraint

Verwandte Themen