[英]InnoDb how to create a foreign key
I have a table articles and I want to create another table summaries that is a child of articles table. 我有一个表articles ,我想创建另一个表summary ,它是articles表的子级。
I've used the following sql to create summaries table but however mysql keeps throwing an error #1072 - Key column 'article_id' doesn't exist in table 我已使用以下sql创建汇总表,但是mysql不断抛出错误#1072-表中不存在键列'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;
you dont have article_id
in your table summaries
, you may mean this: 您的表
summaries
没有article_id
,您可能意味着:
FOREIGN KEY (summary_id) REFERENCES articles(article_id)
if you want make summary_id
as foreign key to article_id in articles table. 如果要使
summary_id
作为articles表中article_id的外键。
But make sure they have same structure properties. 但是请确保它们具有相同的结构属性。
EDIT: 编辑:
or create a column article_id in summaries table and make it foreign key 或在摘要表中创建一列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;
EDIt: 编辑:
INSERT INTO `summaries` (summary,article_id)
VALUES ($yoursummryVar , (SELECT article_id
FROM articles
WHERE ........)
)
i didnt test it. 我没有测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.