尝试执行此查询时:

>mysql_query("UPDATE contracts
              SET x = '1'
              FROM contracts
              INNER JOIN employees
              ON contracts.contract_employeeid=employees.employee_id
              WHERE experience >= '6'") or die(mysql_error());

我收到以下错误消息:



换句话说,我需要为具有 6 年以上经验的员工在“契约(Contract)”表上设置 x=1(为此,我需要将“员工”表加入到 employee_id=contract_employeeid 中,因为他们的经验是存储在该表中)

最佳答案

您可以在 SET 语句之前移动查询的 JOIN 部分:

UPDATE contracts
INNER JOIN employees ON contracts.contract_employeeid = employees.employee_id
SET x = '1'
WHERE experience >= '6'

关于更新中的 MySQL Join 子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6294500/

10-09 01:16