我有這樣的代碼來創建一些表:錯誤1005(HY000):無法創建表db.Wine(錯誤:150)
CREATE TABLE Appelations (
No int AUTO_INCREMENT,
Appelation varchar(35),
County varchar(20),
State varchar(15),
Area varchar(25),
IsAVA varchar(3),
PRIMARY KEY (No)
);
CREATE TABLE Grapes (
ID int AUTO_INCREMENT,
Grape varchar(25),
Color varchar(10),
PRIMARY KEY (ID)
);
CREATE TABLE Wine (
No int AUTO_INCREMENT,
Grape varchar(25),
Winery varchar(40),
Appelation varchar(35),
Name varchar(40),
Year year,
Price int,
Score int,
Cases int,
PRIMARY KEY (No),
FOREIGN KEY (Grape) REFERENCES Grapes(Grape),
FOREIGN KEY (Appelation) REFERENCES Appelations(Appelation)
);
但是當我運行它,我得到這個錯誤:
ERROR 1005(HY000):無法創建表 'db.Wine'(錯誤:150)
有誰知道如何解決這一問題?謝謝。
在列名稱上使用反向標籤。不確定,但我認爲NO對SQL有特殊意義。嘗試將_No int_更改爲_ \'No \'int_也在主鍵子句中。 –
通常,外鍵應引用另一個表中的主鍵。 – Barmar