阅读:9844回复:0
Space is not allowed after parameter prefix ':' 错误解决
1.出现场景
数据库为mysql的时候,为了能够在查询的时候,查询出相应的序号,使用了@rownum,具体的sql如下: select C_AREACODE as CODE, C_AREANAME ID , @rownum:=@rownum+1 as C_INDEX from tab_omin_cm_cc_area, (select @rownum:=0) r 此时的sql语句是可以直接在navicat中进行执行,不会报错。但是把sql语句放到平台的mix文件以后,用程序来执行却会报以下错误: Space is not allowed after parameter prefix ':' .... 2.出错原因 据说是hibernate4以下版本的问题(未验证) 3.解决方式 使用/*'*/:=/*'*/来替换掉 :=,例如: select C_AREACODE as CODE, C_AREANAME ID , @rownum/*'*/:=/*'*/@rownum+1 as C_INDEX from tab_omin_cm_cc_area, (select @rownum/*'*/:=/*'*/0) r 再执行,问题解决! |
|
|