如何在MySQL中创建一个名为"order"的表?

9 mysql

当我创建一个MySQL表时order,它是成功创建的,但是,当我对它执行任何查询时,它说"error 1064 , syntax error".

当我更改名称时orders,它工作正常.

但我不想改名字.如何对order表执行查询?

Pre*_*gha 21

你能用类似的东西吗?

select * from `order`


pax*_*blo 13

这个词order实际上是一个SQL关键字.如果您尝试使用名为group或的表,则会遇到同样的问题select.您可以通过使用它周围的引号修复它是MySQL,顺序如下:

select f1, f2 from `order` where blah blah blah ...
Run Code Online (Sandbox Code Playgroud)

但是,除非您的表只持有一个订单(在这种情况下,由于基础业务很快就会破产,它将不会这么做),您应该打电话给您的表orders.

这解决你的问题,你找到的问题和你没找到的问题:-)

  • SQL 标准建议使用单数作为表名 (2认同)
  • @Ben,如果您想指出推荐此标准的实际*部分*,我会更认真地对待它:-)或者您只是说它是常见的*约定*?如果是后者,我认为这是一个愚蠢的约定,因为您“不是”从单个订单中选择东西,而是从“订单”表中选择它们。即使您只从一个订单中选择项目,情况也是如此排。 (2认同)