我的数据库中有两个表,即 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/