【Java报错】Greenplum数据库报错 could not determine data type of parameter $2. 问题解决(踩坑分享)
生活随笔
收集整理的這篇文章主要介紹了
【Java报错】Greenplum数据库报错 could not determine data type of parameter $2. 问题解决(踩坑分享)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 問題說明
先查看一下報錯信息:
Error updating database. Cause: java.sql.SQLSyntaxErrorException: [Pivotal][Greenplum JDBC Driver][Greenplum]could not determine data type of parameter $2. The error may involve dataStatisticalMapper.deleteStatisticalInfo-Inline The error occurred while setting parameters SQL: delete from table_name t where t.id = ? and t.info like concat(?, '%') Cause: java.sql.SQLSyntaxErrorException: [Pivotal][Greenplum JDBC Driver][Greenplum]could not determine data type of parameter $2. \n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: [Pivotal][Greenplum JDBC Driver][Greenplum]could not determine data type of parameter $2. ",看一下mapper文件:
<delete id="deleteInfo" parameterType="map">delete from table_name where t.id = #{id}<if test="info != null and info != ''">and t.info like concat( #{info}, '%' )</if> </delete>報錯后,我將SQL復制到Navicat里進行了驗證,可以執行…😢
2. 解決方法
Navicat很多時候是我們發現問題的障礙,它會將你的SQL進行轉化執行,經過修改:
<delete id="deleteInfo" parameterType="map">delete from table_name where t.id = #{id}<if test="info != null and info != ''">and t.info like #{info} || '%'</if> </delete>說什么好呢?GP數據庫的一些語法并非通用的【問題可能出現在語法本身】也有可能出現在mybatis框架上!
總結
以上是生活随笔為你收集整理的【Java报错】Greenplum数据库报错 could not determine data type of parameter $2. 问题解决(踩坑分享)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java报错】Greenplum数据库
- 下一篇: 【Linux环境】修改登录提示语(工作小