java - mysql- ERROR - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,以了解在附近使用的正确语法

标签 java mysql database

我的数据库中有两个表,即 linkrecord(URL,NAME) 和 dishrate(dishname, rate,review)。我想创建一个第 3 个表即记录,其中包含来自第一个两个表的 URL、菜名和评级,与两个表共有的菜名相对应。我尝试了以下插入查询,但它显示错误:“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以了解正确的语法在第 1 行附近使用 '.NAME = dishrate.dishnameORDER BY dishrate.rate DESC'

查询是:

    String query= "INSERT INTO crawler.record (URL, Dishname, rate)"+
                           "SELECT linkrecord.URL, dishrate.dishname,dishrate.rate"+
                            "FROM linkrecord, dishrate"+
                            "WHERE linkrecord.NAME = dishrate.dishname"+ 
                            "ORDER BY dishrate.rate DESC";
            Statement stmt=db.conn.createStatement();
            stmt.executeUpdate(query);

我无法在上述查询中找到错误。我该怎么办?谢谢你

最佳答案

您忘记了空格,最后得到的查询部分如下:

INSERT INTO crawler.record (URL, Dishname,rate)<space missing here>SELECT

正确的做法是:

String query= "INSERT INTO crawler.record (URL, Dishname, rate) "+
                           "SELECT linkrecord.URL, dishrate.dishname,dishrate.rate "+
                            "FROM linkrecord, dishrate "+
                            "WHERE linkrecord.NAME = dishrate.dishname "+ 
                            "ORDER BY dishrate.rate DESC";

关于java - mysql- ERROR - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,以了解在附近使用的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37231980/

相关文章:

python - 许多数据库查询或复杂的逻辑?

php - 如果主数据库已关闭,如何连接到辅助数据库(PHP)

java - 什么是NullPointerException,我该如何解决?

java - 我定义了一个随机数,我想检查它是否是回文java

java - 制作一个java程序来通知我的方法

php - 如何管理查询?

mysql - Innodb 事务会阻塞读取还是按顺序排序?

database - 如何为此查询创建位图索引

java - java中设计类的问题

mysql - LEFT JOINed 表的 SQL 限制