druid:1.1.8 String sql = "select t1.teacher_id from teacher_1 t1 left join teacher_2 t2 on t1.teacher_id"; System.out.println(WallUtils.isValidateMySql(sql)); // true System.out.println(WallUtils.isValidatePostgres(sql)); // true
存在的问题: sql中的on条件只写了一半,理论上是条无法执行的sql,但是被认为是正确的sql,并且用SchemaStatVisitor可以正常解析出表和字段而不会抛出异常。
原提问者GitHub用户dingqianlong
可能是由于以下原因之一:
语法错误:在使用JOIN和ON时,您需要确保语法正确。例如,以下是一个正确的JOIN和ON语句示例:
sql
Copy
SELECT *
FROM table1
JOIN table2
ON table1.id = table2.id;
在这个示例中,我们使用JOIN关键字将table1和table2连接起来,并使用ON关键字指定连接条件为table1.id = table2.id。
表名或列名错误:在使用JOIN和ON时,您需要确保使用的表名和列名是正确的。如果表名或列名错误,可能会导致连接失败。请确保您使用正确的表名和列名。
连接条件不正确:在使用ON时,您需要确保连接条件是正确的。如果连接条件不正确,可能会导致连接失败或返回错误的结果。请确保您使用正确的连接条件。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。