网站首页 > 教程文章 正文
MySQL中的You can't specify target table for update in FROM clause报错
jxf315 2024-12-28 13:42:54 教程文章 38 ℃MySQL中的“You can't specify target table for update in FROM clause(不能在FROM子句中指定更新的目标表)”错误是说不能先select出同一表中的某些值,再在同一语句中update这个表,猜想是为了避免语句陷入循环,目前查找到的解决方法就是在select子句外面再套一层子句,利用中间表让MySql不能探测出这个问题(也可能是查中间表语句只先执行一次,就可避免陷入循环),正确语句格式如下:
update user set name=:name,password=:password,phone=:phone,user_active=:userActive,multiple_login=:multipleLogin,we_chat_active=:weChatActive,we_chat=:weChat where id=:id and abbreviation=:abbreviation and (:phone='' or :phone not in (select a.phone from (select phone from user where phone=:phone) a))
记录分享,方便避坑[笑]
猜你喜欢
- 2024-12-28 《黑屏死机》 电脑黑屏死机
- 2024-12-28 SQL轻松入门(1):增删改与简单查询
- 2024-12-28 【数据库】Upsert = Update or Insert
- 2024-12-28 SQL查询语句大全(一) sql查询语句命令大全
- 2024-12-28 大数据开发基础之SQL语句基本操作
- 2024-12-28 SQL CASE WHEN的用法 sql case when 的用法详解
- 2024-12-28 高并发下如何防重? 如何防止高并发
- 2024-12-28 最全汇总|SQL Server与Access数据库sql语法差异
- 2024-12-28 SQL left join 左表合并去重技巧总结
- 2024-12-28 为什么一条UPDATE语句有索引反而更慢
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)