0
我是MySQL的新手,並且正在爲我創建的數據庫搞一些學習。MySQL CONSTRAINT FOREIGN KEY語法
我創造了我的第一個表和它的工作確定:
mysql> CREATE TABLE Pizzas(ItemID INTEGER PRIMARY KEY, Size INTEGER, Price DECIMAL);
Query OK, 0 rows affected (0.90 sec)
然後我試圖創建使用約束的另一個表(我只是照搬國外的鍵是在一類我正在創建的方式),我出現錯誤:
mysql> CREATE TABLE Customers(CustomerID PRIMARY KEY, Name CHAR(20), ItemID INTEGER, CONSTRAINT FOREIGN KEY (ItemID) REFERENCES Pizzas (ItemID));
ERROR 1064 (42000): 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 'PRIMARY KEY, Name CHAR(20), ItemID INTEGER, CONSTRAINT FOREIGN KEY (ItemID) REFE' at line 1
我使用的是Linux計算機,而我的MySQL版本是5.5。爲什麼我會遇到這個問題?
對於CustomerID,您沒有數據類型(例如'INTEGER')。另外,還有一些建議:'Name(')'使用'VARCHAR(20)'而不是'CHAR(20)',因爲'CHAR(20)'會在末尾填充空格。你不會看到他們,但他們會在那裏,他們會把你搞砸。 – 2014-10-02 18:44:17