如何使用检查条件创建简单的SQL表?

时间:2016-04-26 16:16:38

标签: mysql sql

我是sql编码的新手,并尝试创建一个表。 我从老师那里得到了这张桌子作为示例表:

CREATE TABLE Lektor
(Kuerzel CHAR(3) NOT NULL,
Fachgebiet VARCHAR(35) NOT NULL,
PersNr INTEGER NOT NULL UNIQUE,
Eintritt DATE NOT NULL,
Gehalt INTEGER CHECK (Gehalt > 25000),
Chef CHAR(3)
CHECK (Chef IN (SELECT Kuerzel FROM Lektor)),
PRIMARY KEY (Kuerzel),
FOREIGN KEY (Kuerzel) REFERENCES Person)

我尝试使用该代码创建表,但我不能因为:

CHECK (Chef IN (SELECT Kuerzel FROM Lektor))

它一直告诉我" Lektor"无法找到,但我试图创造它......

我能够使用以下Mysql工作台语法创建没有该Check的表:

CREATE TABLE IF NOT EXISTS `buchverlag`.`Lektor` (
  `Kuerzel` CHAR(3) NOT NULL,
  `Fachgebiet` VARCHAR(35) NOT NULL,
  `PersNr` INT(11) NOT NULL,
  `Eintritt` DATE NOT NULL,
  `Gehalt` INT(11) NULL CHECK (Gehalt > 25000),
  `Chef` CHAR(3) NULL,
  PRIMARY KEY (`Kuerzel`),
  UNIQUE INDEX `PersNr_UNIQUE` (`PersNr` ASC),
  CONSTRAINT `Kuerzel`
    FOREIGN KEY (`Kuerzel`)
    REFERENCES `buchverlag`.`Person` (`Kuerzel`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

有谁知道如何解决这个问题?

0 个答案:

没有答案