MySQL含长列表IN子句查询结果不一致,JDBC与Sequel Pro表现差异
JDBC执行IN查询不返回预期结果,但客户端工具执行正常
Java程序通过JDBC执行以下SQL查询时,未返回预期结果,但在Sequel Pro中执行同一查询却能得到符合条件的记录:
SELECT * FROM foo WHERE versionEnd = 0 AND barId IN ( '01HRCX6QP5CQY5T4EN6N7KZP0P', '01HRCX6QPKCKB2HBKAVPTFSR2C', '01HRCX6QPVYKQ01YF1B6AE1DAY', '01HRCX6QQ8TJC9C9EYF58FVRVW', '01HRCX6QQMRPAJ0D054RBGV0B3', '01HRCX6QV8YYKPXQ1DTWYS727Y', '01HRCX6QVJT6Y1EFCZX4797RHW', '01HRCX6QVXPXBEBE0TV3YDSGN6', '01HRCX6QW7J6VYTMVKKQSZGW10', '01HRCX6QWFD8MNN05M1Z8ZXVKD', '01HRCX6QWVRCH99KCJV8YX32W5', '01HRCX6QX6VMHYZX4TKWVB34FR', '01HRCX6QXE3692G14Z38XHHCV8', '01HRCX6QXTRHEF2RZZ2P2709EG', '01HRCX6QY55H5JTDFP50XZWG0Q', '01HRCX6QYZFADFTV1MR59P6ZMD', '01HRCX6QZAMR321G3NB7KVK91G', '01HRCX6QZJGFMG6W4C7MRDVY0F', '01HRD9Z10VX8YHHG9E0T5XJQXV' ) AND status != 'CANCELED'
已确认foo表中存在一条满足所有条件的记录:versionEnd = 0,barId = '01HRD9Z10VX8YHHG9E0T5XJQXV',status = 'POSTED',通过id单独查询可以找到这条记录。
按照逻辑,这条记录应该出现在上述IN查询的结果中,但实际通过JDBC执行时并未返回该记录。有没有人遇到过类似问题?
内容的提问来源于stack exchange,提问作者Jake Mirra
相关产品推荐
相关产品推荐

