MySql从内部连接更新语法错误

Posted

技术标签:

【中文标题】MySql从内部连接更新语法错误【英文标题】:MySql update syntax error from inner join 【发布时间】:2015-06-11 07:20:01 【问题描述】:
UPDATE
    `universities`
SET
    `universities`.countryid = `countries`.id,
FROM
    `universities`
INNER JOIN
    `countries`
ON
    `universities`.country = `countries`.name

当我尝试通过 phpMyAdmin 运行上面的 sql 语句时,会出现语法错误。我根据this answer写的语句。

【问题讨论】:

【参考方案1】:

这是 mysql 中的正确语法:

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

另外,我引入了表别名(这样查询更容易编写和阅读)并删除了多余的逗号。

【讨论】:

奇怪的是这个是如何工作的,但许多其他有很多支持的人却没有。 因为对方用mariadb,而你用mysql。

以上是关于MySql从内部连接更新语法错误的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL - 更新/内部连接 ​​[重复]

从 SAP 获取数据时 MySQL 服务器版本中的 SQL 语法错误

使用带有 PDO 的数组更新多个 MySQL 表列

phpmyadmin更新查询使用3个表给出错误

语法错误,内部连接缺少运算符

MariaDB 更新错误内部连接和选择