2016-04-03 86 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