3
我花了3個小時尋找我的問題的答案(在這裏和谷歌),我不明白爲什麼我得到這個錯誤後,我嘗試添加「事件「表。SQL錯誤#1215 - 無法添加外鍵約束
兩個表:
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
u_name VARCHAR(32) NOT NULL,
u_pass VARCHAR(32) NOT NULL,
sub_status INT(3) NOT NULL,
f_name VARCHAR(32),
l_name VARCHAR(32),
email VARCHAR(32),
PRIMARY KEY(id, u_name, email)
) ENGINE=InnoDB;
CREATE TABLE events (
u_name VARCHAR(32) NOT NULL,
event_name VARCHAR(32),
event_date VARCHAR(32),
comment VARCHAR(255),
PRIMARY KEY(u_name, event_name),
FOREIGN KEY(u_name) REFERENCES user(u_name)
ON UPDATE CASCADE
ON DELETE CASCADE
) ENGINE=InnoDB;
據我所看到的,有沒有拼寫錯誤,u_name是表之間的類型完全相同的,這是兩個表中的主鍵。
mysql版本是5.6
幫助非常感謝,我提前感謝您。讓我知道是否還有其他我需要包括。
編輯︰原來我的查詢做的工作,但在不同版本的SQL/MySQL。 jemz的答案適用於不同版本的sql。
謝謝jemz回答這麼快。雖然你的桌子工作正常,但我很好奇我的爲什麼不工作?我一直在按照我的演講幻燈片100%,仍然無法使其工作。再次感謝你。 – seriouslyttt
添加唯一索引,以便您可以添加外鍵...如果這能解決您的問題,請接受我的答案。 – jemz