MySQL中的表名和数据库关键字相同解决办法

原创 2016年05月31日 21:55:19

博主近段时间在做一个javaweb的小项目,需要数据库,但是今晚在创建一个表名为’order’的时候,‘很莫名其妙’地在报错,楼主以为是太久没使用命令行来创建,仔细检查自己的语句,找了半天也找不出个所以然。后来突然,想到mysql有个’order by’排序功能。博主在想是不是和java等编程语言一样,用户自定义的不能和关键字一样呢?于是博主开始测试,果不其然!下面分享解决办法!

首先楼主想要创建一个表:

Create table order(
id smallint unsigned primary key auto_increment,
cinameID smallint,
hallID smallint,
mivieID smallint,
prices int,
seat int);

‘莫名其妙’的报错了:这里写图片描述

意识到不是莫名奇妙的错误之后,楼主改了一个表名:

Create table rder(
id smallint unsigned primary key auto_increment,
cinameID smallint,
hallID smallint,
mivieID smallint,
prices int,
seat int);

结果马上成功了:这里写图片描述

这就说明是我的错因在表名了嘛!

解决办法之一:
当然是换一个表名了(非关键字);

解决办法二:
问:那我要是非要用那个表名,是不是没辙了?
答:答案肯定是否定的啊,

这样修改一下就好了

Create table `order`(
id smallint unsigned primary key auto_increment,
cinameID smallint,
hallID smallint,
mivieID smallint,
prices int,
seat int);

这里写图片描述

最为重要的一点来了:你有没有注意这次我的表名嵌在了一对类似单引号的符号了,但是事实上那不是单引号,而是英文输入法下的“Tag”按键正上方的那颗按键
如图:
这里写图片描述

这样创建的表,要是要对其操作也要做相同的“,否则就会报错了!!!!

事实说话:
假设我要查看我的表的域

正常情况下应该是这样的:

show columns from order;

这里写图片描述

看报错了吧!!!

应该这样

show columns from `order`;

这里写图片描述

所以

最好表名什么的,最好不要用关键字,以免带来不必要的麻烦!!!!

备注:博主测试了一下其他关键字,和order一样,原因当然是他们本质上都是数据库的关键字了,这里,由于时间关系博主就不一一举例了!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CentOS .tar.gz .tar.xz .tar.bz2 .tar.lz文件的解压方法

从网络上下载到的源码包, 最常见的是 .tar.gz .tar.bz2包, 还有一部分是 .tar.xz .tar.lz的包。有人说 .tar.xz 是压缩率之王,但从下图看.tar.lz的压缩率更...

解决libc.so.6: version `GLIBC_2.14' not found问题

0.以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软...
  • iomato
  • iomato
  • 2013-01-04 00:05
  • 102896

MySQL里order为关键字

今天在写一个程序,用的数据库是mysql5.1,建一张名为order的表,使用jpa,调试了很长时间都不对,以为是设置映射关系错误,检查和实验了很多遍都不对。 最后自信检查了后台报错的提示,说是版本...

在VC++中使用Tab Control控件

系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:在模态或非模态对话框中使用Tab Control控件,及引申在单/多文档中使用 查阅MSDN文档,对于创建T...

MySQL表名和数据库关键字相同解决办法

当MySQL的表名和数据库关键字相同时,应要给表名加上``符号(tab键上方)。 SELECT COUNT(*) FROM `order`;
  • chlhp
  • chlhp
  • 2011-08-30 19:23
  • 5573

数据库表Table字段不能应用的MySQL关键字

table字段不能使用mysql关键字   设计数据库表时,注意field不能使用mysql关键字   mysql关键字有以下这些:   转自: ADD ALL ALTER ANALYZE ...

mysql中的表名如果跟mysql的关键字冲突怎么处理?

今天使用mysql进行查询时,遇到一个问题,如标题: mysql中的表名如果跟mysql的关键字冲突怎么处理? 需要给关键字加上撇,也就是键盘上数字1左边的那个撇 例如,Order,User...

mysql数据表字段与系统关键字重名的问题

不能用mysql的关键字如limit,desc,describe等作表的字段,否则更新时会出错;

order是mysql的关键字,不能用order作为表名

忘记order是mysql的关键字了,我用order做为表名,死活插不进去数据

MySQL 5.7 关键字和保留字

设计数据库时,尽量避免使用MySQL的关键字和保留字作为表名或列名,下面是MySQL 5.7的关键字和保留字: 官方文档地址   http://dev.mysql.com/doc/refman/5.7...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)