此MySQL查询中的问题是什么,它给出了错误1064(42000)?[重复]

pzfprimi  于 2023-01-29  发布在  Mysql
关注(0)|答案(3)|浏览(124)
    • 此问题在此处已有答案**:

Syntax error due to using a reserved word as a table or column name in MySQL(1个答案)
5天前关闭。
该查询是

CREATE TABLE order(
    order_id int primary key,
    customer_name varchar(30) not null,
    product_name varchar(20) not null,
    date_ordered date,
    quantity int,
    unit_price float,
    phone_no varchar(20)
);

错误为:
错误1064(42000):SQL语法中有错误;查看与MySQL服务器版本对应的手册,了解在第1行"order(order_id int primary key,customer_name varchar(30)not null"附近使用的正确语法
我正在使用MySQL verson 8.0.32

mrphzbgm

mrphzbgm1#

因为order是SQL语法的一部分(使用ORDER BY对查询的记录进行排序),所以它不起作用。
您必须将您的表重命名为不同的名称,例如orders,然后它才能工作:

CREATE TABLE orders (
   order_id int primary key,
   customer_name varchar(30) not null,
   product_name varchar(20) not null,
   date_ordered date,
   quantity int,
   unit_price float,
   phone_no varchar(20)
);
yfjy0ee7

yfjy0ee72#

ORDER是操作系统mysql语法的一部分,只需为表使用另一个名称,如orders

CREATE TABLE orders (
order_id int primary key,
customer_name varchar(30) not null,
product_name varchar(20) not null,
date_ordered date,
quantity int,
unit_price float,
phone_no varchar(20)
);
kyxcudwk

kyxcudwk3#

order是您不能使用的关键字。要了解其他关键字的列表,请查看下面的链接https://dev.mysql.com/doc/refman/8.0/en/keywords.html

相关问题