単純な CREATE TABLE クエリに問題があります。2 つのテーブル "resort" (resortID と resortName) と "season" (resortID と resortName) が多対多の関係にあります。次の 2 つのクエリのいずれかを使用して結合テーブル 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
);
両方のクエリで次のようなエラーが表示されます (この場合の 2 番目のクエリの場合):
"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
);
その後、正常に動作し、テーブルが作成されます。ただし、このテーブルがリゾートとシーズンのテーブルを有効に参照するかどうかはわかりません。