Witam ma zamodelowaną bazę i nie mogę dodać wpisu do tabeli z kluczmi obcymi(pozwalam na wartość NULL)
-- -----------------------------------------------------
-- 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.