创建连接表问题!

时间:2011-06-04 01:26:57

标签: php mysql sql phpmyadmin

我有3张桌子

客户,菜单和订单。

订单表假设加入客户和菜单表,并包含两者的主键。以下是我尝试在phpmyadmin上创建订单表的方法。

create table order(
customerID int not null,
itemID int not null,
primary key (customerID, itemID),
foreign key(customerID) reference customer(ID),
foreign key(itemID) reference menu(itemID)
) 

这不起作用。我做错了什么?!!

2 个答案:

答案 0 :(得分:4)

order是一个保留字,尝试其他名称,或引用它,如

create table `order`( 
    customerID int not null,
    itemID int not null,
    primary key (customerID, itemID),
    foreign key(customerID) reference customer(ID),
    foreign key(itemID) reference menu(itemID) ) 

答案 1 :(得分:0)

抱怨因为order是保留关键字。用@TokenMacGuy用反引号包装它会告诉你解决你的问题。 Here is a list of them

此外,作为一般规则,您可以像这样转换您的实体以避免问题,尤其是使用保留关键字: -

a)实体总是(在纸面上)建模为单数,因为它代表现实世界或问题领域中的概念/资产/人。例如。订单,检查,学生,车

b)它转换成的相应DB表总是可以用复数命名。逻辑是该表将包含该实体的许多实例。因此,订单,检查,学生,汽车