当您使用select ... order by时,MySql J / Connector 5.1.39无法正常工作

时间:2016-08-17 22:45:19

标签: java mysql

我已将程序中的J /连接器从Connector 5.1.7更新到Connector 5.1.39,我看到选择停止工作。

挖掘更多后,我意识到只有有序的选择不起作用。如果我从sql查询中删除order by,一切都很好。

这是我的程序

package test;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class MysqlVersion {

    public static void main(String[] args) {

        Connection con = null;
        Statement st = null;
        ResultSet rs = null;

        String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&character_set_server=utf8mb4&useSSL=false";
        String user = "root";
        String password = "root";

        try {

            con = DriverManager.getConnection(url, user, password);
            st = con.createStatement();
            rs = st.executeQuery("select * from `scripts` order by id desc");

            //this returns false when order by is in the query
            System.out.println(rs.next());

        } catch (SQLException ex) {

            Logger lgr = Logger.getLogger(MysqlVersion.class.getName());
            lgr.log(Level.SEVERE, ex.getMessage(), ex);

        } finally {

            try {

                if (rs != null) {
                    rs.close();
                }

                if (st != null) {
                    st.close();
                }

                if (con != null) {
                    con.close();
                }

            } catch (SQLException ex) {

                Logger lgr = Logger.getLogger(MysqlVersion.class.getName());
                lgr.log(Level.WARNING, ex.getMessage(), ex);
            }
        }
    }
}

System.out.println(rs.next());'在查询中时,order by始终会返回false。 如果我回到早期版本,一切正常。难道我做错了什么。我需要做一个特殊的设置吗?或者这是一个错误?

我正在使用MySql 5.7.14

0 个答案:

没有答案