mysql - 根据第三个表连接 MySQL 的结果,用一个查询更新两个表
问题描述
我需要使用一个查询更新两个表,具体取决于与另一个表连接的结果。
我有一个 tblPermutations 需要对照 tblDictionary 进行检查,并且匹配的那些需要标记为已处理并插入第三个 tblSpellathon。
我尝试了以下但没有成功。
UPDATE tblspellathon AS s,
(SELECT p.*
FROM tblpermutations p
INNER JOIN tbldictionary AS d ON d.Word = p.Permu AND p.`Language` = d.Lang
WHERE d.correct = -1 AND p.PermuProcessed = 0) AS p
SET p.PermuProcessed = -1, s.DerWord = p.Permu, s.WordListID = p.WordListID;
和
UPDATE tblspellathon AS s, tblpermutations AS p, tbldictionary AS d
SET p.PermuProcessed = -1, s.DerWord = p.Permu, s.WordListID = p.WordListID
WHERE p.permu = d.Word AND p.`Language` = d.Lang AND d.correct = -1 AND
p.PermuProcessed = 0;
在上述两个查询中,我得到:
SQL Error (1205): Lock wait timeout exceeded; try restarting transaction
Affected rows: 0 Found rows: 0 Warnings: 0 Duration for 0 of 1 query: 0.000 sec.
谢谢
解决方案
推荐阅读
- mysql - 以非 root 用户身份启动自定义 Docker MySQL 容器时,ibdata1 写入出错
- angular - 验证 Angular 7 PROD 应用程序中的延迟加载
- kubernetes - Kubernetes - ingress-nginx“无活动端点”错误
- unity3d - Unity中如何释放内存?
- c# - 运行 csharp 生成的 exe 时出现 0xc00007b 错误
- python - NameError: : 名称“pytesseract”未定义
- php - 保存类别时的 Magento 问题
- hadoop - 检测到快速入门 Hue ui 潜在的错误配置
- vue.js - 如何存储用户使用 vue js 和 net core 上传的服务器图像
- python - 在 ubuntu 中安装虚拟环境包时出错