【问题标题】:Outputting information from MySQL to IntelliJ IDEA将信息从 MySQL 输出到 IntelliJ IDEA
【发布时间】:2021-06-21 12:54:47
【问题描述】:

SQL中有一段代码:

SELECT  users.login AS 'Все заказы' , items.title AS ' '  FROM `orders`
JOIN `items` ON orders.item_id  = items.id 
JOIN `users` ON users.id = orders.user_id

IntelliJ IDEA 中的代码本身

public  void vivod(String table) throws SQLException, ClassNotFoundException {
        String sql = "SELECT  users.login AS `Все заказы` , items.title'  FROM `orders`" +
                 "JOIN `users` ON users.id = orders.user_id" +
                 "JOIN `items` ON orders.item_id  = items.id";

        Statement statement = getDbConnection().createStatement();
        ResultSet res = statement.executeQuery( sql );
        while (res.next()) {
            System.out.println( res.getString( "orders" ) );


        }

    }

在SQL中,输出正确,但插入IntelliJ IDEA时,报错

java.sql.SQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“items ON orders.item_id = items.id”附近使用正确的语法

最终结果应该是这样的:

enter image description here

是什么导致了错误?

【问题讨论】:

  • 更改 "JOIN users ON users.id = orders.user_id" +"JOIN users ON users.id = orders.user_id " + 。下一行 order_user_id 和 JOIN 之间没有空格
  • @BerndBuffen 写道:无法调用“String.equalsIgnoreCase(String)”,因为“com.mysql.cj.result.Field.getName()”的返回值为 null

标签: java mysql sql join select


【解决方案1】:

尽量去掉sql语句中多余的引号 所以IDEA中的代码会是这样的

String sql = "SELECT users.login AS 'Все заказы' , items.title FROM orders" + "JOIN users ON users.id = orders.user_id" + "JOIN items ON orders.item_id = items.id";

希望能成功

【讨论】:

    猜你喜欢
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 2012-11-24
    相关资源
    最近更新 更多