2017-01-17 5 views
0

Ich habe einen Fremdschlüssel id_customer in meine Tabelle comment hinzugefügt. Aber jetzt muss ich diesen Fremdschlüssel id_customer mit dem Primärschlüssel in customer Tabelle synchronisieren.SQL Update, vergleichen und Fremdschlüssel

Dafür vergleiche ich E-Mails in customer und comment.

UPDATE comment 
    SET comment.id_customer = customer.id 
    FROM comment, customer 
    WHERE comment.email = customer.login 

Anscheinend habe ich einen Syntaxfehler. Jemand kann mir sagen, warum ich falsch liege? Ich habe es auch mit INNER JOIN versucht, aber das gleiche Ergebnis.

Danke. Sry für mein Englisch.

Antwort

1

Sie sollten ein Update versuchen, mit beitreten:

UPDATE comment 
JOIN customer ON comment.email = customer.login 
SET comment.id_customer = customer.id 
1

Sie scheinen update mit einem join zu wollen:

UPDATE comment co JOIN 
     customer cu 
     ON co.email = cu.login 
    SET co.id_customer = cu.id ; 

Diese MySQL-spezifische Syntax ist. Der Code in Ihrer Frage scheint SQL Server-Konventionen zu verwenden.