2016-04-03 129 views
2

我已經搜索了很多,但我只能得到這個概念,這是用於多對多的鏈接。或爲外鍵和主鍵分開語法。但是不能整個地修正語法。我想創建一個只有兩個外鍵的表

CREATE TABLE cart 
(
Customer varchar(40) FOREIGN KEY REFERENCES users(UserName), 
Product varchar(40) FOREIGN KEY REFERENCES products(PID), 
CONSTRAINT combination PRIMARY KEY (Customer,Product) 
); 

我收到錯誤

1064 - 你在你的SQL語法錯誤;請檢查與您的MariaDB服務器版本相對應的手冊,以獲取在第3行'FOREIGN KEY REFERENCES用戶(用戶名),產品varchar(40)FOREIGN KEY RE'附近使用的正確語法。

回答

1

外鍵定義在所有列定義,它們不在列定義內部定義。在你的情況下,它寧可是:

CREATE TABLE cart 
(
    Customer varchar(40), 
    Product varchar(40), 
    FOREIGN KEY (Customer) REFERENCES users(UserName), 
    FOREIGN KEY (Product) REFERENCES products(PID), 
    PRIMARY KEY (Customer,Product) 
); 
+0

謝謝你的工作! –

+0

然後將答案標爲正確! – Alvaro