[英]MySQL error on CREATE TABLE for many-to-many relationship
我對簡單的 CREATE TABLE 查詢有疑問。 我在多對多關系中有兩個表“‘resort’(帶有 resortID 和 resortName)和‘season’(帶有 resortID 和 resortName)。我正在嘗試使用以下兩個查詢之一創建連接表 resort_season:
CREATE TABLE resort_season (
resortID MEDIUMINT UNSIGNED NOT NULL,
seasonID MEDIUMINT UNSIGNED NOT NULL,
FOREIGN KEY (resortID) REFERENCES resort (resortID),
FOREIGN KEY (seasonID) REFERENCES season (seasonID),
PRIMARY KEY (resortID, seasonID) NOT NULL
);
CREATE TABLE resort_season (
resortID MEDIUMINT UNSIGNED NOT NULL FOREIGN KEY REFERENCES resort (resortID),
seasonID MEDIUMINT UNSIGNED NOT NULL FOREIGN KEY REFERENCES season (seasonID),
PRIMARY KEY (resortID, seasonID) NOT NULL
);
這兩個查詢都給我一個錯誤,上面寫着(在這種情況下是第二個查詢的情況): "You have an error in your syntax; check manual....for right syntax to use near'FOREIGN KEY REFERENCES resort (resortID), seasonID MEDIUMINT UNSIGNED NOT NULL F' at line 2"
。
我究竟做錯了什么? 這讓我很頭疼,因為我就是看不出錯誤的原因。
如果我簡單地做
CREATE TABLE resort_season (
resortID MEDIUMINT UNSIGNED NOT NULL,
seasonID MEDIUMINT UNSIGNED NOT NULL,
PRIMARY KEY (resortID, seasonID) NOT NULL
);
然后它工作正常並創建了表。 我不確定這張表是否會有效地引用表格度假村和季節。
從主鍵定義中刪除 NOT NULL -
CREATE TABLE resort_season(
resortID MEDIUMINT UNSIGNED NOT NULL,
seasonID MEDIUMINT UNSIGNED NOT NULL,
FOREIGN KEY (resortID) REFERENCES resort (resortID),
FOREIGN KEY (seasonID) REFERENCES season (seasonID),
PRIMARY KEY (resortID, seasonID)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.