3
CREATE TABLE location_share (
id INT AUTO_INCREMENT PRIMARY KEY ,
user_id INT ,
circle_id INT ,
location_sharing_id INT ,
CONSTRAINT fkuser1 FOREIGN KEY (user_id)
REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fkcircle1 FOREIGN KEY (circle_id)
REFERENCES circle(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fksharing_policy FOREIGN KEY (location_sharing_id)
REFERENCES share(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = INNODB ;
错误消息:
错误:#1005 - 无法创建表
'.\phonetracker\location_share.frm'
(错误:150)
其他表格:
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY ,
contact_no VARCHAR(25) UNIQUE NOT NULL,
email VARCHAR(50) UNIQUE NOT NULL,
first_name VARCHAR(25) NOT NULL ,
last_name VARCHAR(25) ,
device_id VARCHAR(250)NOT NULL ,
image_path VARCHAR(180) ,
password VARCHAR(30) NOT NULL ,
latitude VARCHAR(18) ,
longitude VARCHAR(18)
) ENGINE=INNODB
CREATE TABLE circle (
id INT AUTO_INCREMENT PRIMARY KEY ,
name varchar(35)
) ENGINE=INNODB
CREATE TABLE share (
id INT AUTO_INCREMENT PRIMARY KEY ,
policy VARCHAR(6) UNIQUE NOT NULL
)
从[mysql.com](http://dev.mysql.com/doc/refman/5.0/en/innodb-error-codes.html),“表创建失败,因为外键约束是没有正确组成“。建议使用缩进将此查询格式化为多行,以使其更容易理解。提示:在堆栈溢出问题中,如果你用**四个空格开始每一行**,它将把它格式化为代码,而不是对话文本。 –
你会告诉我,我在外键约束中做了什么错?谢谢 –
我不喜欢那部分'(user_id)REFERENCES'。尝试一个空格:'(user_id)REFERENCES' –