2016-05-14 2 views
-1

Ich habe zwei Tabellen in meiner Datenbank Viz Linkrecord (URL, NAME) und Dishrate (Gerichtname, Rate, Review). Ich möchte einen dritten Tabellenviz-Datensatz erstellen, der die URL, den Gerichtnamen und die Bewertung aus der ersten zwei Tabelle enthält, in Übereinstimmung mit dem Gerichtnamen, der beiden Tabellen gemeinsam ist. Ich habe die folgende Insert-Abfrage versucht, aber es zeigt den Fehler: "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax entspricht Verwendung in der Nähe von '.NAME = dishrate.dishnameORDER BY dishrate.rate DESC' at line 1"mysql- ERROR-Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das zu Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von

die Abfrage ist:

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); 

ich bin nicht in der Lage, den Fehler in der obigen query.What finden soll ich tun ? Danke

+0

Haben Sie aus dem Wert von 'query' drucken, um zu sehen wie es tatsächlich aussieht (nicht wie du denkst, dass es aussieht)? –

Antwort

3

Sie die Räume vergessen und Sie am Ende mit Abfrage Teile wie:

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

richtige Weg ist:

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"; 
+0

thanku so viel..ich habe es gerade verpasst..mein fehler – SRao

Verwandte Themen