Внешний ключ в пользовательской таблице не позволяет мне вводить мои данные, первичная таблица - это таблица компании.
Я пытаюсь сделать companyid не первичным ключом в таблице пользователей, но он не очень популярен
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;
Это сообщения об ошибках, которые показывают
Невозможно добавить илиобновить дочернюю строку: ограничение внешнего ключа не выполнено (webpage
. users
, CONSTRAINT fk_users_company1
FOREIGN KEY (company_idcompany
) ССЫЛКИ company
(idcompany
) ВКЛ УДАЛИТЬ НЕТ ДЕЙСТВИЙ, ОБНОВЛЕНИЕ НЕТ ДЕЙСТВИЙ)