码农笔记 码农笔记
首页
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

itlaonong

野生Java程序员
首页
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL从表中查询数据更新本表失败

  • 随笔
itlaonong
2022-06-01

MySQL从表中查询数据更新本表失败

项目中有一个表是树形结构,并且准备把某一个节点的属性复制到下面的每个子节点。写好了 update 脚本,执行却报错了。

1093 - Table 'a' is specified twice, both as a target for 'UPDATE' and as a separate source for data
1

脚本大概长这样

update t_menu a set path = (select path from t_menu where id = a.parent_id )
1

在 stackoverflow 找到了答案,

Table is specified twice, both as a target for 'UPDATE' and as a separate source for data in mysql (opens new window)

简单点说就是再用一次子查询。将 SQL 改造成如下

update t_menu a set path = (select b.path from (select path from t_menu ) b where b.id = a.parent_id )
1
#MySQL
上次更新: 2022/10/09, 14:18:05
最近更新
01
1-1 导学
10-09
02
PVE 安装黑群晖笔记
06-13
03
Video测试
06-02
更多文章>
Theme by Vdoing | Copyright © 2016-2022 itlaonong
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式