前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL报错1093 - You can't specify target table 't' for update in FROM clause, Time: 0

MySQL报错1093 - You can't specify target table 't' for update in FROM clause, Time: 0

作者头像
JaneYork
发布2023-10-11 14:46:50
2210
发布2023-10-11 14:46:50
举报
文章被收录于专栏:PUSDN平行宇宙软件开发者网

报错内容:

1093 - You can't specify target table 't' for update in FROM clause, Time: 0

前情提示:

Mac OS10.14+MySQL8.0.18;

centOS6.8final+MySQL5.6;

解决:

方法一:多嵌套一层。多来一层子查询

以上SQL修改如下:

代码语言:javascript
复制
UPDATE trace_videorecord SET VideoAddress = 'h8' WHERE VideoID IN
(
SELECT * FROM (
SELECT mg.VideoID FROM sale_goods m LEFT JOIN  prod_task md ON m.TaskID = md.TaskID  LEFT JOIN prod_area ma on md.AreaID = ma.AreaID LEFT JOIN acct_factory mb ON ma.FactoryID = mb.FactoryID  LEFT JOIN trace_videorecord mg ON ma.AreaID = mg.AreaID WHERE m.GoodsID = '128' and mg.Status=1 ORDER BY mg.AddTime DESC LIMIT 0,30
)a
)

方法二:中间表,临时表。

代码语言:javascript
复制
1.创建一张临时表,将要删除的条件自动存入临时表中:
2.再根据临时表,删除主表数据:
3.最后删除掉临时表:
create table tmp as select min(id) as a from user group by additive;
delete from user where id not in (select a from tmp);
drop table tmp;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档