[英]MySQL syntax error when creating a table with 2 foreign keys as primary key
當我運行以下查詢時,我總是收到1064錯誤,但我不明白它是怎么了:
CREATE TABLE hashmkb_mangatracker.group_release
(
group_id int NOT NULL,
release_id int NOT NULL,
PRIMARY KEY (group_id, release_id),
UNIQUE INDEX (release_id, group_id),
FOREIGN KEY (group_id) REFERENCES group(id),
FOREIGN KEY (release_id) REFERENCES release(id)
) ENGINE=INNODB;
錯誤:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group(id),
FOREIGN KEY (release_id) REFERENCES release(id)
) ENGINE=INNODB' at line 7
感謝幫助。
GROUP是MySql中的保留關鍵字。 RELEASE也是如此。 您將必須在這些周圍添加反引號:
CREATE TABLE hashmkb_mangatracker.group_release
(
group_id int NOT NULL,
release_id int NOT NULL,
PRIMARY KEY (group_id, release_id),
UNIQUE INDEX (release_id, group_id),
FOREIGN KEY (group_id) REFERENCES `group`(id),
FOREIGN KEY (release_id) REFERENCES `release`(id)
) ENGINE=INNODB;
這是所有保留字的列表: http : //dev.mysql.com/doc/refman/5.6/en/reserved-words.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.