您的位置:首页 > 数据库 > MySQL

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;

2016-12-21 13:47 387 查看
报错详细信息:

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 'condition = '1'

AND content = '010KAAS'

AND content_name = '12'

AN' at line 8

在页面进行操作的时候,后台报错,提示我check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition = '1',后经检查SQL语句,并无错误,在SQLyon执行的时候,才发现表中的条件字段设置的名称condition与数据库的关键字冲突

解决办法有两个

1、最复杂的解决办法是修改表中字段,把condition修改为conditions等等不与数据库关键字相同的即可,如果新项目,修改字段倒还可以,要是成熟的项目,不建议修改表中的字段

2、在Mapper.xml中加上·符号,这个符号位于Tab键的上方的那一个键,跟波浪线在同一个位置

这个·号的作用:一个小点,俗称小句号,上句号。通常情况下没有什么使用价值,但是在网络流行后,作为不规范符号使用,用一份个句子,如:你好啊·····我叫XX=你好啊,我叫XX。

Mysql中,用于区分关键字,如: AND `condition` = #{condition,jdbcType=VARCHAR},完整语句如下:

select
<include refid="Base_Column_List" />
from ups_dataparams
where is_delete = 0
AND  condition_name = #{conditionName,jdbcType=VARCHAR}
AND  `condition` = #{condition,jdbcType=VARCHAR}
AND  content = #{content,jdbcType=VARCHAR}
AND  content_name = #{contentName,jdbcType=VARCHAR}
AND sys_id = #{sysId,jdbcType=INTEGER}
AND parent_code = #{parentCode,jdbcType=VARCHAR}


如果转载,请用超链接注明出处http://blog.csdn.net/zouxucong/article/details/53783522
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: