簡體   English   中英

MySQL 多對多關系的 CREATE TABLE 錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM