尝试执行此查询时:
>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/