MySQL 8.0.32创建order表报1064(42000)语法错误,求排查
问题排查:MySQL创建order表时的1064语法错误
你的SQL语句触发语法错误的核心原因是:order是MySQL的保留关键字,不能直接用作表名。MySQL会将order识别为SQL语法的一部分(比如ORDER BY子句中的关键字),而非用户自定义的表名,因此解析时会报错。
两种可行的解决办法:
- 更换表名(推荐):选择非保留关键字作为表名,比如将
order改为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) );
- 用反引号包裹保留关键字:如果必须使用
order作为表名,需要用反引号(`)将其括起来,明确告诉MySQL这是一个标识符:
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) );
内容的提问来源于stack exchange,提问作者Kr. SOURAV
相关产品推荐
相关产品推荐

