Php 创建联接表问题!

Php 创建联接表问题!,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,我有三张桌子 客户、菜单和订单 订单表被假定为连接客户表和菜单表,并包含这两个表的主键。下面是我如何尝试在phpmyadmin上创建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

我有三张桌子

客户、菜单和订单

订单表被假定为连接客户表和菜单表,并包含这两个表的主键。下面是我如何尝试在phpmyadmin上创建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)
) 

这不管用。我做错了什么

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) ) 

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) ) 

它正在抱怨,
order
是一个保留关键字。按照@TokenMacGuy告诉您的解决问题的方法,用反勾号包装它

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

a) 实体总是(在纸上)建模,因为它代表了现实世界或问题领域中的概念/资产/人。订单、支票、学生、汽车


b) 它转换成的对应DB表始终可以使用复数命名。逻辑是,该表将包含该实体的许多实例。因此,订单、支票、学生、汽车

它在抱怨,因为
订单
是一个保留关键字。按照@TokenMacGuy告诉您的解决问题的方法,用反勾号包装它

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

a) 实体总是(在纸上)建模,因为它代表了现实世界或问题领域中的概念/资产/人。订单、支票、学生、汽车


b) 它转换成的对应DB表始终可以使用复数命名。逻辑是,该表将包含该实体的许多实例。因此,订单、支票、学生、汽车

您可以继续并发布所有三个表的DDL吗?您可以继续并发布所有三个表的DDL吗?如果我认为您需要,我建议使用非保留名称。MySQL为此提供了一个引用工作,但并不是每种SQL方言都这样做。哇,非常感谢,这就成功了。我用“购买”来代替。此外,引用应为“引用”。再次感谢!如果你想要我的意见,我建议你使用非保留名称。MySQL为此提供了一个引用工作,但并不是每种SQL方言都这样做。哇,非常感谢,这就成功了。我用“购买”来代替。此外,引用应为“引用”。再次感谢!