mysql - 更新表内连接

标签 mysql sql-update inner-join

我有两个表,我需要根据第二个表的 ID 更新其中一个表

第一个表成功日志

Id     pid      shiftid
1       2          
2       2          
3       2          
4       5          
5       5
6       6
7       6   

第二个表雇员列表

Id    pId      shiftid
1      2          1
2      5          1
3      6          2

我需要根据两个表中的 pid 更新第一个表的 shiftid

我正在使用以下查询,但它不起作用;

        $sql1="UPDATE successlog
                SET successlog.shiftid = employeelist.shiftid
                 FROM successlog
                 INNER JOIN employeelist
                 ON successlog.pid=employeelist.pId";  

最佳答案

您的声明必须如下所示:

$sql1="UPDATE successlog INNER JOIN employeelist  ON successlog.pid=employeelist.pId
            SET successlog.shiftid = employeelist.shiftid";  

关于mysql - 更新表内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562890/

相关文章:

mysql - 错误代码 : 1093. 您无法在 FROM 子句中指定用于更新的目标表 'schedule'

mysql - 如何使我的 SQL 内部联接绕过表?

mysql - SQL 获取非规范化表中某指定信息对应的第一个字段

如果记录不在临时表中,mysql更新表

javascript - 如何将使用 php 上传的 pdf 文件和图像文件合并到 MySQL 中?

php - 如果A表查找结果为零,如何查找B表?

mysql - 终端 INSERT 到 MySQL 不工作

mysql - 向列的内容添加文本?

mysql - 在MySQL表中选择两个(或更多)连续行

mysql - 在 mysql 中与 where match against 组连接