记录一次SQL语句犯错

今天在开发当中有一条使用count()的SQL语句出现错误,具体语句如下:

SELECT COUNT (1) FROM sys_user_office a WHERE a.COMPANY_ID = ? AND a.ROLE_ID = 'officeadmin' AND a.DEL_FLAG = 0 AND a.USER_ID = ?

刚开始报错没有execute权限,理所当然认为是权限问题,当时都还是想,明明给用户授权select了啊,难道一个查询语句还要授权execute?但是没想那么多,既然mysql说我有错误就有错误吧。于是给用户授权execute。但是后面又开始报这个错误。

nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION emstest.COUNT does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
 

心想真是X了狗了。仔细一看错误信息,为什么会说没有count function呢。难道mysql连sql标准都不准信了???count都不提供???心里一万个想不通。后来仔细看一看报错的sql,发现count 和 (1)之间有一个空格,是不是因为这个原因?遂去掉空格试一试,果然可以。问题瞬间结局。

后记:纯手写sql要注意了。很多细节地方需要注意。

转载于:https://my.oschina.net/weechang93/blog/784782

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值