SQL更新,比较和外键

时间:2017-01-17 13:44:28

标签: mysql sql-update foreign-keys compare inner-join

我在表id_customer中添加了一个外键comment。 但现在我需要将此外键id_customer与主键同步到customer表中。

为此,我将电子邮件与customercomment进行比较。

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

显然我有语法错误。有人可以告诉我为什么我错了? 我也试过INNER JOIN但结果相同。

感谢。为我的英语而烦恼。

2 个答案:

答案 0 :(得分:1)

您似乎希望update使用join

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

这是特定于MySQL的语法。您的问题中的代码似乎使用SQL Server约定。

答案 1 :(得分:1)

您应该尝试使用join进行更新:

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