关于在mysql中使用usage作字段名所遇到的问题
2018-01-23 17:42
555 查看
数据库是从oracle中直接导进mysql的,项目运行时,后台报以下错误:
### Cause: 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 'usage'
因为我的映射文件mapper.xml是使用mybatis反向生成的,即SQL语句不是我手写的,而是MyBatis的插件生成的,现如今,却报SQL语句有语法错误,我就郁闷了,系统自动生成的SQL语句居然也有错误的?带着这样的疑问,我仔细检查SQL语句:
insert into YTJ3006_1 ( ID, ARCHIVEID, VISITDATE, VISITSTYLE, PATIENTTYPE, TJQK, NYQK, SYSMPSIGNS, USAGE, YPJX, SUPERVISOR, SINGLEHOME, VENTILATE, SMOKE, DRINK, GETMEDICINEADDR, GETMEDICINEDATE, FWJLK, YWFFJYPCF, FJHZLLC, BGLFWWH, FYHBLFYJCL, ZLQJFZCT, WCQJRHJCFY, SHXGJZYSX, MQJCZJC, NEXTVISITDATE, YFSCS, SJFSCS, YFYCS, SJFYCS, FYL, CLOSESTATUS, DATARESTYPE, SSUPPLIERCODE, CREATED_BY, CREATED_DATE, DUNS, SMACHINECODE, SMOKE_TARGET, DRINK_TARGET ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )看来看去,也没发现有什么问题,后来我依照后台提示的信息把usage字段注释掉,就可以执行成功了,后来了解 到,原来usage是mysql的关键字,mysql是不允许在表中用它的关键字来作字段名的,在ORACLE上不会出现这个 问题,是因为usage并非ORACLE的关键字。 当然mysql也不只usage这个关键字,也称保留字,还有很多,在建表时,要慎用这些关键字,少触雷区。 下面这个链接写得齐全,需要的可以去参考下:https://www.cnblogs.com/Z-Fanghan/p/6892944.html
相关文章推荐
- 向mysql数据表中添加字段creat_time时,遇到关于CURRENT_TIMESTAMP的问题
- 关于C++Builder 2007使用dbexpress + mysql的一些问题
- mysql---使用unsigned字段类型时的问题
- 使用BDC连接MySql可能遇到的问题
- 转:关于我使用spring mvc框架做文件上传时遇到的问题
- 关于在UTF-8编码下使用ASPUPLOAD组件时遇到的问题
- 关于 SHFILEOPSTRUCT 的使用遇到的问题
- 关于使用在webforms里使用routing遇到的问题
- Mysql的sql语句中使用判断语句遇到的问题
- Reporting Service Tips 101(#3) - 关于使用Sum函数会遇到的问题(2)
- 好久没写东西了,手痒了,写写我使用mysql中遇到的几个问题吧
- 关于您提到使用WebServices时候遇到“基础连接以关闭”的问题
- MySQL 中通过使用UNIQUE KEY 来控制字段值不重复的问题.
- 关于MYSQL字段长度设置的问题
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 关于在MySQL 、 VC、 JSP 中使用UTF-8解决中文生僻字乱码的问题
- 关于我使用spring mvc框架做文件上传时遇到的问题
- 转帖:使用BDC连接MySql可能遇到的问题
- 关于使用MySQL的ODBC驱动建立数据源出错的问题
- 关于ibatis使用中遇到的问题 和解决方案