Witam,
Pracuję w workbenchu, stworzyłem sobie model i wygenerowałem z niego skrypt SQL. Następnie skrypt wczytałem.
-- MySQL Script generated by MySQL Workbench
-- 07/09/16 00:43:14
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`Przedmioty`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Przedmioty` (
`id` INT(10) NOT NULL,
`nazwa` TEXT NULL,
`cena` INT NULL,
`ida` INT(10) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Atrybuty`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Atrybuty` (
`ida` INT(10) NOT NULL,
`atak` INT NULL,
`szybkosc` INT NULL,
PRIMARY KEY (`ida`),
CONSTRAINT `fk_Atrybuty_Przedmioty`
FOREIGN KEY (`ida`)
REFERENCES `mydb`.`Przedmioty` (`ida`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Gdy próbuję go wygenerować pojawia się błąd: Error Code: 1215. Cannot add foreign key constraint
Szukałem po Stacku ale tego nie rozumiem wciąż. Wszystko porobiłem między relacjami na INT(10) bądź INT
Całość krzyczy na : FOREIGN KEY (ida
) REFERENCES mydb
.Przedmioty
(ida
), ale tego nie chce usuwac gdyż strace relacje.
Relacja polega na tym iż: 1 x przedmiot ma Wiele x atrybutów. ( może i to nie ma sensu większego, ale uczę się na błędach).
Jak sobie z tym poradzić?
Z góry dziękuję za wszelaką pomoc.
id_atrybut
?id_atrybutu
orazid_przedmiotu
.