[Err] 1005 - Can't create table 'xx' (errno: 150),求高手指教

/*用户表user的创建*/CREATETABLEuser(u_noINTNOTNULL,u_pwdVARCHAR(16)NOTNULL,u_nameVARCHAR(8)... /*用户表user的创建*/
CREATE TABLE user(
u_no INT NOT NULL,
u_pwd VARCHAR(16) NOT NULL,
u_name VARCHAR(8),
u_email VARCHAR(18),
u_state TINYTEXT,
h_id INT,
PRIMARY KEY(u_no),
FOREIGN KEY(h_id) REFERENCES head(h_id)
);
/*好友列表friend的创建*/
CREATE TABLE friend
(
f_id INT NOT NULL,
u_noz INT NOT NULL,
u_noy INT NOT NULL,
f_date TIMESTAMP,
PRIMARY KEY(f_id),
FOREIGN KEY(u_noz) REFERENCES user(u_no),
FOREIGN KEY(u_noy) REFERENCES user(u_no)
);

CREATE TABLE diary(/*日记diary表的创建*/
r_id INT NOT NULL,
r_title VARCHAR(18) NOT NULL,
r_content TEXT NOT NULL,
r_date TIMESTAMP,
u_no INT NOT NULL,
PRIMARY KEY(r_id),
FOREIGN KEY(u_no) REFERENCES user(u_no)
);

CREATE TABLE album(/*相册album表的创建*/
x_id INT NOT NULL,
x_name VARCHAR(18) NOT NULL,
u_no INT NOT NULL,
x_access INT DEFAULT 0, -- 0:公开,1:好友,2:仅自己可见
x_date TIMESTAMP,
PRIMARY KEY(x_id),
FOREIGN KEY(u_no) REFERENCES user(u_no)
);

CREATE TABLE photo(/*照片photo表的创建
展开
 我来答
百度网友6d4d5cf
推荐于2018-05-11
知道答主
回答量:45
采纳率:0%
帮助的人:43.9万
展开全部
user的 FOREIGN KEY不可能连到friend中,因为你先创建user,那么他执行到foreign key的时候,他找不到friend,而你的friend是在user建立之后才创建的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式