我试图基于两个匹配的列更新列:firms.id = investors.firminvestors.firm_role = "ceo",但是服务器一直拒绝我的语法。我试过,没有试过,对我来说太复杂了,所以我不知道下一步该怎么做。

UPDATE firms
JOIN investors USING (firms.id = investors.firm)
SET firms.ceo = investors.name
WHERE investors.firm_role = "ceo"

错误:
SQL错误(1064):您的SQL语法有错误;请查看与您的MariaDB服务器版本相对应的手册,以获取在第1行使用的正确语法。id=investors.firm)SET firms.ceo=investors.name WHERE investors.firm_role='

最佳答案

你非常熟悉你的语法:

UPDATE firms
LEFT JOIN investors ON firms.id = investors.firm
SET firms.ceo = investors.name
WHERE investors.firm_role = "ceo"

参见this

10-07 15:26