所以我在过去的两天里几乎都查过了,我似乎无法弄清楚mysql不允许我添加外键是什么原因。当我为包含外键的第二个表运行代码时,出现以下错误:
#1072 - 表中不存在键列“专辑”
我很确定我的代码中没有任何语法错误,因为我现在已经对其进行了几次修改。
我之前在 stakOVF 中看到过同样的问题,但是这些问题的问题是非常明显的语法错误,但是这些问题中的解决方案与我的问题无关,没有解决我的问题。
所以这是我正在运行的代码,上面的错误被返回。提前致谢。
CREATE TABLE ‘Album’(
‘id’ INT AUTO_INCREMENT PRIMARY KEY ,
‘name’ VARCHAR( 35 ) NOT NULL
) ENGINE = InnoDB;
上面的代码运行没有问题,但是当我运行下面的代码时出现错误
CREATE TABLE ‘Picture’(
‘id_pk’ INT AUTO_INCREMENT PRIMARY KEY ,
‘album’ INT,
‘pictureURL’ VARCHAR( 270 ) NOT NULL ,
‘name’ VARCHAR( 35 ) NOT NULL ,
CONSTRAINT album_fk FOREIGN KEY ( album ) REFERENCES Album( id )
) ENGINE = InnoDB;
我已经摆弄了 CONSTRAINT 行,并且我还采用了以下形式 FOREIGN KEY (album) REFERENCES Album(id),即没有预先设置约束。
谢谢大家,毕竟存在语法错误,就像有些人说这与有趣的引号有关,删除它们,就像一个魅力。非常感谢!