关于MySQL desc关键字误用为自定义属性引发的错误
来源:互联网 发布:安庆四中信息编程班 编辑:程序博客网 时间:2024/05/18 02:22
转自:http://my.oschina.net/myspaceNUAA/blog/121400
项目使用hibernate操作数据库,但是今天Tomcat启动的时候一直报错,
1
报错信息:
2
报错的SQL语句:
3
[Unsuccessful
schema
statement:
create
table
*** (***,
desc
varchar
(255), endDate datetime, *****]
4
5
6
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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
'desc varchar(255), '
at
line 1
注:***为被我省略的字段信息描述
解决方法:既然说是SQL语句有问题,但是想一个简单的SQL CREATE TABLE语句能有什么错误呢。
一个字段一个字段往里面加,进行增量测试。其他字段都没有问题,发现desc varchar(255)有问题。
为什么呢,把desc改成description居然就没有问题,就想到desc会不会是关键字什么的。果然是,
desc是用于排序的关键字,平时编程习惯用desc来作为“描述”字段,直接通过hibernate将属性映射
为数据库字段,就处问题了。
引以为戒,千万不能把关键字作为自己的属性进行操作!
最好的解决方法是不用desc表示字段名,用全称description代替。
另外一种解决方法是在desc外面加反引号(`),注意desc外面加的不是单引号,而是键盘左上角数字键1前的那个键。
修改表字段长度:
阅读全文
0 0
- 关于MySQL desc关键字误用为自定义属性引发的错误
- 关于MySQL desc关键字误用为自定义属性引发的错误
- MySql的desc关键字引发的问题
- desc关键字引发的问题
- mysql desc关键字
- MySQL的desc关键字作为了字段名称查询问题
- MySQL的DESC问题
- 关于时间mysql 时间字段desc 出错的原因
- Access 关键字引发的调试错误
- StringBuffer.toString误用引发的血案
- mysql建表属性不能为关键字
- 关于sizeof的误用问题
- 关于gravity属性引发的大问题
- 对于java中volatile关键字的误用
- 微信自定义分享-分享到朋友圈时title为desc的问题解决
- 关于释放指针引发的一个错误
- mysql升序降序关键字(DESC降序,ASC升序)
- 记一次排查mbstowcs误用引发的bug
- 图表提示的代码以及标题里面求值
- 数据结构--一元多项式
- tomcat8 源码 导入eclipse
- 吴恩达深度学习课程笔记 2.1二分分类
- 倒入项目报错:HttpServlet was not found on the Java Build Path
- 关于MySQL desc关键字误用为自定义属性引发的错误
- sql server游标
- 漫游Kafka之过期数据清理
- redis安装
- (翻) 使用webstorm 调试react native 遇到的坑。
- 用cmake构建基于qt5.8.0的qt5项目
- 例题6-13 古代象形符号(Ancient Messages, World Finals 2011, UVa 1103)
- 机器学习中常常提到的正则化 详解
- springmvc使用CommonsMultipartFile上传