在Debian上使用Java连接到MySQL

时间:2011-05-19 16:59:00

标签: java mysql debian

我正在尝试使用Java连接到MySQL数据库,我收到以下错误:

SQLException: 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 '????????????????' at line 1

我无法理解错误并在网上搜索了很多但没有找到任何内容。这是我正在使用的代码:

    try
    {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
    }
    catch (Exception E)
    {
        System.err.println("Unable to load driver");
        E.printStackTrace();
    }

    try
    {
        Connection C = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/DATABASE_NAME","USERNAME","PASSWORD");
        Statement Stmt = C.createStatement();

        ResultSet RS = Stmt.executeQuery("SELECT somefield FROM sometable");

        while (RS.next())
        {
             System.out.print("\"" + RS.getString(1) + "\"");
             System.out.print(" by " + RS.getString(2));
             System.out.println(": " + RS.getString(3));
        }
        C.close();
        RS.close();
        Stmt.close();
    }
    catch (SQLException E)
    {
        System.out.println("SQLException: " + E.getMessage());
        System.out.println("SQLState:     " + E.getSQLState());
        System.out.println("VendorError:  " + E.getErrorCode());
    }

上面的SQL查询就是问题的一个例子。我正在使用的那个在MySQL控制台中没有任何问题。实际上,即使我从上面的代码中删除了查询和语句,我仍然会得到相同的错误。 有人可以帮忙吗? 提前致谢

1 个答案:

答案 0 :(得分:3)

很可能是因为你正在使用它 table-table中的select字段是SQL保留字。如果您想进行此查询,则可能需要执行

select field from `table` 

后面的单词表格。