The foreign key in the user table seems like don't allow me to input my data, the primary table is the company table.
I try to make companyid as not primary key in the users table but there is not much use
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';
CREATE SCHEMA IF NOT EXISTS `webpage` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `webpage` ;
-- -----------------------------------------------------
-- Table `webpage`.`company`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `webpage`.`company` (
`idcompany` INT NOT NULL,
`name` VARCHAR(45) NOT NULL,
`user_id` INT NOT NULL,
PRIMARY KEY (`idcompany`),
INDEX `fk_company_user1_idx` (`user_id` ASC),
CONSTRAINT `fk_company_user1`
FOREIGN KEY (`user_id`)
REFERENCES `webpage`.`user` (`iduser`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `webpage`.`user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `webpage`.`user` (
`iduser` INT NOT NULL,
`username` VARCHAR(45) NOT NULL,
`password` VARCHAR(45) NOT NULL,
`email` VARCHAR(45) NOT NULL,
`first_name` TEXT NOT NULL,
`last_name` TEXT NOT NULL,
`gender` TEXT NOT NULL,
`company_id` INT NOT NULL,
PRIMARY KEY (`iduser`),
INDEX `fk_user_company_idx` (`company_id` ASC),
CONSTRAINT `fk_user_company`
FOREIGN KEY (`company_id`)
REFERENCES `webpage`.`company` (`idcompany`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
This is the error messages that show
Cannot add or update a child row: a foreign key constraint fails (webpage
.users
, CONSTRAINT fk_users_company1
FOREIGN KEY (company_idcompany
) REFERENCES company
(idcompany
) ON DELETE NO ACTION ON UPDATE NO ACTION)