UPDATE
    `universities`
SET
    `universities`.countryid = `countries`.id,
FROM
    `universities`
INNER JOIN
    `countries`
ON
    `universities`.country = `countries`.name

当我试图通过PhpMyAdmin运行上面的sql语句时,它会给出语法错误。我是根据this answer写这些声明的。

最佳答案

这是MySQL中的正确语法:

UPDATE universities u JOIN
       countries c
       ON u.country = c.name
    SET u.countryid = c.id;

此外,我引入了表别名(这样查询更易于编写和读取),并删除了一个无关的逗号。

10-07 16:02