我正在尝试根据两个匹配的列更新列:firms.id = investors.firm
和investors.firm_role = "ceo"
,但是服务器一直拒绝我的语法。我尝试过inner join
,而没有inner join
,这对我来说真的太复杂了,所以我不确定下一步该怎么做。
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 firm.ceo = investors.name WHERE investors.firm_role ='附近使用正确的语法
答案 0 :(得分:1)
您的语法非常接近
UPDATE firms
LEFT JOIN investors ON firms.id = investors.firm
SET firms.ceo = investors.name
WHERE investors.firm_role = "ceo"
请参阅this。
答案 1 :(得分:0)
尝试使用此语法
update patients set column_name="value" where (condition)
例如,即时通讯使用c#可以实现
update patients set " + dgv.Columns[c].HeaderText + "='" + dgv.Rows[dgv.CurrentCell.RowIndex].Cells[c].Value.ToString() + "' where idno='" + dgv.Rows[dgv.CurrentCell.RowIndex].Cells[0].Value.ToString() + "'"
答案 2 :(得分:0)
您可以尝试
UPDATE firms
INNER JOIN investors ON firms.id = investors.firm AND investors.firm_role = "ceo"
SET firms.ceo = investors.name