我正在尝试使用其他表中的主键外键来创建一系列表,但是我总是得到错误
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仍然是空的,而不是?
答案 0 :(得分: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)
);
Here是一个SQL小提琴。
答案 1 :(得分:0)
试试这个
CREATE TABLE MajorEquipment(
MEId INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (MEId),
PACId INT
REFERENCES PlantAreaCodes(PACId)
)