MySQL表名为关键字处理

背景:MySQL使用可视化工具(如phpmyadmin)建表时不小心使用了关键字(如order),并且表创建成功了,如下图:
在这里插入图片描述
问题:在之后使用到该表或写查询语句时,"order"处总报错,使用语句修改表名也不行,语句及错误如下:

mysql> select * from order;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order' at line 1
mysql> alter table order rename to orders;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order rename to orders' at line 1

解决:对表名order使用反双引号即可(反双引号在Tab键上方,英文状态下直接敲)。

mysql> select * from `order`;
Empty set (0.00 sec)
mysql> alter table `order` rename to orders;
Query OK, 0 rows affected (0.03 sec)

这样就可以正常执行sql语句啦。但这是出错情况下的补救方法,不建议使用关键字命名噢!

不止有知识@每日小句:
I can’t chase you all the time like a kid asking for sugar.
“我总不能像个要糖的小孩一直追着你跑吧。”

猜你喜欢

转载自blog.csdn.net/m0_51142043/article/details/124851729
今日推荐