0

我正在尝试使用其他表中的主键外键创建一系列表,但是我总是收到错误消息

Table Creation Failed: Key column 'PACId' doesn't exist in table:

这是它出现的第一个案例:

CREATE TABLE PlantAreaCodes(
  PACId INT NOT NULL AUTO_INCREMENT,
  AreaCode INT,
  AreaName CHAR(32),
  Comments TEXT,
  PRIMARY KEY (PACId)
);

CREATE TABLE MajorEquipment(
  MEId INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (MEId),
  FOREIGN KEY (PACId) 
  REFERENCES PlantAreaCodes(PACId)
);

是与外键的语法有关,还是因为 PACId 仍然为空,不能为空?

4

2 回答 2

2

PACId它不是的。你还没有在MajorEquipment.

尝试对第二个表使用此定义:

CREATE TABLE MajorEquipment(
  MEId INT NOT NULL AUTO_INCREMENT,
  PACId INT, -- Added this column
  PRIMARY KEY (MEId),
  FOREIGN KEY (PACId) 
  REFERENCES PlantAreaCodes(PACId)
);

是一个 SQL 小提琴。

于 2014-02-25T03:02:57.503 回答
0

试试这个

CREATE TABLE MajorEquipment(
  MEId INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (MEId),
  PACId INT 
  REFERENCES PlantAreaCodes(PACId)
)
于 2014-02-25T03:03:44.233 回答