Das ist mein SQL-Skript, das ich von MySQL Workbench generiert haben:ERROR 1215 (HY000) in Zeile 53: fügen Sie kann nicht über Fremdschlüssel Betrieb mit Exitcode fehlgeschlagen 1
SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`systems`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`systems` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`, `name`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`formats`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`formats` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`, `name`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`protocols`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`protocols` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`, `name`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`systems_protocol_format`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`systems_protocol_format` (
`id` INT NOT NULL AUTO_INCREMENT,
`system` VARCHAR(45) NOT NULL,
`protocol` VARCHAR(45) NOT NULL,
`format` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`, `system`, `protocol`, `format`),
CONSTRAINT FOREIGN KEY (`system`)
REFERENCES `mydb`.`systems` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT FOREIGN KEY (`format`)
REFERENCES `mydb`.`formats` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT FOREIGN KEY (`protocol`)
REFERENCES `mydb`.`protocols` (`name`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
Ich kann nicht scheinen zu finden, die Error. Die Typen der referenzierten Spalten stimmen mit den Fremdschlüsseln überein und die Namen stimmen überein ... Engine ist auch bei allen Tabellenerstellungsabfragen identisch.
Könnte mir jemand in die richtige Richtung zeigen?
Ahh, ich sehe jetzt. Es hat perfekt funktioniert. Vielen Dank. –