我有一个表文章,我想创建另一个表摘要,这是一个文章表的子项。
我使用以下sql创建摘要表,但是mysql不断抛出错误#1072 - Key列' article_id'表
中不存在CREATE TABLE summaries(
summary_id INT NOT NULL AUTO_INCREMENT,
summary TEXT,
PRIMARY KEY ( summary_id),
FOREIGN KEY (article_id) REFERENCES articles(article_id)
)ENGINE=INNODB;
答案 0 :(得分:1)
你的article_id
表中没有summaries
,你的意思是:
FOREIGN KEY (summary_id) REFERENCES articles(article_id)
如果你想让make summary_id
作为article表中article_id的外键。
但请确保它们具有相同的结构属性。
编辑:
或在摘要表中创建一个列article_id并将其设为外键
CREATE TABLE summaries(
summary_id INT NOT NULL AUTO_INCREMENT,
summary TEXT,
article_id INT,
PRIMARY KEY ( summary_id),
FOREIGN KEY (article_id) REFERENCES articles(article_id)
)ENGINE=INNODB;
编辑:
INSERT INTO `summaries` (summary,article_id)
VALUES ($yoursummryVar , (SELECT article_id
FROM articles
WHERE ........)
)
我没有测试它。