主题:sql in查询使用 join函数出错

yyl010 2017年11月30日 33

初学,join 函数的 in查询,但是list只传一个值的时候报错了。

 and e.`error` not in(#join(error2)#)

具体日志如下:

and e.`error` not in(?)     order by e.`status` asc , e.`create_at` desc    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')    and e.`error` not in(4004)     order by e.`status` asc , e.`create' at line 25 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)

闲大赋 2017年11月30日

看提示看不出来,对于输出的sql语句,看日志是

and e.`error` not in(?)     order by e.`status` asc , e.`create_at` 

你可以试试这句话到mysql里会不会出错

  • yyl010:后来找到了,是if else 格式写错了,导致error 字段 in 和not in 在比较,所以报错了。(2017年11月30日)
作者:闲大赋
官网:
qq群:219324263
微信捐助开源 支付宝捐助开源