Open xkrivzooh opened 4 years ago
什么数据库?
什么数据库?
mysql数据库。我已经在方法SQLUtils.parseSingleStatement(sql, JdbcConstants.MYSQL, SkipComments);中指定了API
我也遇到该问题。limit ? offset ?,这部分被druid解析为语法树然后重新生成SQL会变成:LIMIT ?, ? 数据库类型mysql
@xkrivzooh 是否已经解决该问题?
看上去是解析sql然后进行修改,然后再执行setString的场景?这种场景确实要考虑下保持参数顺序不变,我研究看下
话说这个问题修复了吗,或者有没其它参数控制忽略LIMIT OFFSET的转换
Druid的SQL解析针对Limit部分的语法树输出有潜在问题。如下示例:
如果用户的limit部分的写法是:
limit ? offset ?
,这部分被druid解析为语法树然后重新生成SQL会变成:LIMIT ?, ?
。 如果用户上层使用JDBC中的PreparedStatement
中的API进行参数设置时,会导致参数的顺序反过来了。