解释:
"@P0" 指的是sql语句被预编译之后,其所对应的占位符的相对顺序位置,通俗的讲,就是它代表第几个占位符的位置,其中的0,并不是固定的,如果将定位符看做数组的话,这里的数字就代表数组的下标,即 @p0带表第一个元素,以此类推。所以 我们就知道了"@P0"附近有语法错误 就表示在第一个占位符的附近有语法错误。
定位修复:
理解了它的含义,问题处理起来就简单多了,可以根据日志中的预编译定位(最简单的当然是直接找到sql语句,根据传入参数直接定位),那么语法错误肯定就在这附近,仔细找找,一般不是大问题,最最有可能的就是多字符或者符号了。
liuzhenlei的学习博客