-- ----------------------------------------------------- -- Table `xxx`.`PREMISSIONS` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `xxx`.`PREMISSIONS` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `xxx`.`COMPANIES` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `xxx`.`COMPANIES` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NULL , `nip` VARCHAR(45) NULL , `street` VARCHAR(45) NULL , `city` VARCHAR(45) NULL , `code` VARCHAR(45) NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `xxx`.`DELIVLERYADDRESS` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `xxx`.`DELIVLERYADDRESS` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NULL , `street` VARCHAR(45) NULL , `code` VARCHAR(45) NULL , `city` VARCHAR(45) NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `xxx`.`USERS` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `xxx`.`USERS` ( `id` INT NOT NULL AUTO_INCREMENT , `login` VARCHAR(45) NULL , `pass` VARCHAR(45) NULL , `passdate` DATETIME NULL , `ldate` DATETIME NULL , `phone` VARCHAR(45) NULL , `email` VARCHAR(45) NULL , `name` VARCHAR(45) NULL , `lastname` VARCHAR(45) NULL , `USERScol` VARCHAR(45) NULL , `premissions` INT NOT NULL , `company` INT NULL DEFAULT NULL , `delivleryaddress` INT NULL DEFAULT NULL , PRIMARY KEY (`id`) , INDEX `fk_USERS_PREMISSIONS_idx` (`premissions` ASC) , INDEX `fk_USERS_COMPANY1_idx` (`company` ASC) , INDEX `fk_USERS_DELIVLERYADDRESS1_idx` (`delivleryaddress` ASC) , CONSTRAINT `fk_USERS_PREMISSIONS` FOREIGN KEY (`premissions` ) REFERENCES `xxx`.`PREMISSIONS` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_USERS_COMPANY1` FOREIGN KEY (`company` ) REFERENCES `xxx`.`COMPANIES` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_USERS_DELIVLERYADDRESS1` FOREIGN KEY (`delivleryaddress` ) REFERENCES `xxx`.`DELIVLERYADDRESS` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
Daje takiego inserta:
INSERT INTO USERS SET `login`='adrian', `pass`='67a74306b06d0c01624fe0d0249a570f4d093747', `passdate`='2013-05-23 16:34:21', `ldate`='2013-05-23 16:34:21', `phone`='77894564566', `email`='asd@asd', `name`='Adrian', `lastname`='Dasa', `premissions`='3', `company`='', `delivleryaddress`=''
Dostaje taki błąd:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`xxx`.`USERS`, CONSTRAINT `fk_USERS_COMPANY1` FOREIGN KEY (`company`) REFERENCES `COMPANIES` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)
Nie wiem czy zrobiłem dobry model w workbeanchu.