大家好,尝试使用 mysql v5.5 创建两个表之间的关系,好奇我如何解决这个问题...
CREATE TABLE posts(id INT AUTO_INCREMENT,
title varchar(100) NOT NULL,
body varchar(500) NOT NULL,
PRIMARY KEY (id) );
//posts_id not null creating error?
CREATE TABLE comments(id INT AUTO_INCREMENT,
comment varchar(250)NOT NULL,
posts_id NOT NULL,
PRIMARY KEY (id) );
我想让评论表中的 posts_id 与评论表中的帖子表 id 共享关系。
最佳答案
您尚未设置 posts_id 类型:
posts_id int(11) NOT NULL
那么您的评论表应如下所示:
CREATE TABLE IF NOT EXISTS <code>comments</code> (<br/>
<code>id</code> int(11) NOT NULL AUTO_INCREMENT,<br/>
<code>comment</code> varchar(250) NOT NULL,<br/>
<code>posts_id</code> int(11) NOT NULL,<br/>
PRIMARY KEY (<code>id</code>),<br/>
KEY <code>posts</code> (<code>posts_id</code>)<br/>
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
<p>And finally, a foreign relation:</p>
ALTER TABLE comments<br/>
ADD CONSTRAINT comments_ibfk_1 FOREIGN KEY (posts_id) REFERENCES posts (id) ON DELETE CASCADE ON UPDATE CASCADE
关于mysql - 尝试使用 mysql v5.5 创建表关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892508/