我有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)
)
这不起作用。我做错了什么?!!
答案 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表总是可以用复数命名。逻辑是该表将包含该实体的许多实例。因此,订单,检查,学生,汽车