2016-06-22 10 views
1

Diese SQL-Abfrage in der Ausführung von MySQL:1064 - Sie haben einen Fehler in der SQL-Syntax (...) in der Nähe von ''

INSERT INTO Test_id_isbnyear  
    SELECT I.id, I.isbn, Y.year  
    FROM Prod_id_isbn AS I  
    LEFT JOIN Prod_id_year AS Y ; 

Werfen Sie diesen Fehler:

1064 - You have an error in your SQL syntax (...) near '' at line 4

Wie kann ich ein Fehler über ein ‚"‘, wenn es nicht so etwas in meiner Anfrage?

+5

Heißt das nicht, 'JOIN' brauchen eine' ON' Klausel? – David

+1

Omg David, vielen Dank - du hast mir ein paar graue Haare gerettet. Außerdem schäme ich mich gerade etwas. – lisbeth

Antwort

0

Zugegebenermaßen ist die Fehlermeldung in diesem Fall nicht super hilfreich. Es kann Ausnahmen von der Regel geben, aber nach meiner Erfahrung bedeutet diese in der Regel, dass der Syntaxfehler am Ende der Abfrage ist. Welche, in diesem Fall ist es:

SELECT I.id, I.isbn, Y.year  
FROM Prod_id_isbn AS I  
LEFT JOIN Prod_id_year AS Y 
-- missing "ON" clause 

wie etwas sein sollte:

SELECT I.id, I.isbn, Y.year  
FROM Prod_id_isbn AS I  
LEFT JOIN Prod_id_year AS Y 
    ON I.SomeField = Y.SomeField 
0

Sie müssen Ihre Werte auf, etwas zu verbinden (ich habe ON I.ID = Y.I_ID für diese Antwort angenommen).

INSERT INTO Test_id_isbnyear  
SELECT I.id, I.isbn, Y.year  
FROM Prod_id_isbn I  
LEFT JOIN Prod_id_year Y ON I.ID = Y.I_ID; 
+0

Hallo Matt, vielen Dank für deine Antwort. Ich war durch die Fehlermeldung verwirrt und sah in die falsche Richtung für eine Lösung. – lisbeth

Verwandte Themen