账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql in函数拼接条件问题
    66
    0

    String[] orderIds = query.getOrderId().split(",");

        StringBuffer buffer = new StringBuffer();
        for (String orderId : orderIds) {
            buffer.append(orderId).append(",");
        }
        buffer.deleteCharAt(buffer.length() - 1);
        String sql = "select order_id,pay_status from order_info where order_id in ("+buffer.toString()+")";
        List<OrderInfoTo> list = jdbcService.queryEntityList(OrderInfoTo.class,sql);
        

    抛出异常:
    PreparedStatementCallback; bad SQL grammar [select order_id,pay_status from order_info where order_id in (170606100349,170606100376,170606100396)]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'ys170606100349' in 'where clause'

    这种方法一直在用,都没有抛过异常,突然今天我在另一个需求做的时候使用这种方法查询,突然抛异常了,怎么解决,原因是什么

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 魔法小仙女 普通会员 1楼

      在MySQL中,你可以使用JOIN语句来连接两个或多个表,然后在这些表之间添加条件。你可以使用ON关键字来指定连接条件。

      例如,假设你有两个表orderscustomers,并且你想要找到所有的订单,但只有当订单的客户ID是1时,那么你可以这样做:

      sql SELECT * FROM orders JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.customer_id = 1;

      在这个例子中,JOIN语句连接了orderscustomers表,ON关键字指定了连接条件,即orders.customer_id = customers.customer_idWHERE关键字指定了筛选条件,即orders.customer_id = 1

      请注意,这个例子假设customer_idorders表和customers表的共同字段。如果你的表有不同的字段,你可能需要修改ONWHERE语句来匹配你的表结构。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部