0
点赞
收藏
分享

微信扫一扫

MySQL - This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘


问题描述

在一次业务中需要临时处理下业务绑定关系,方便排查问题,所以直接操作 MySQL 需要写更新语句,但是想一批一批的来排查缩小范围,于是有了下面这条 SQL,一运行,直接报错(MySQL版本:5.7.20)

This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘

UPDATE t_demo
SET foreign_id = '8bb4d552a13ea3147159bd7f5d5ca851'
WHERE id IN
(SELECT id FROM t_demo WHERE foreign_id = '#' LIMIT 0, 10)

解决方案

在中间插入一个子查询来代替,什么意思呢?直接上 SQL,这样即可绕过以上报错,完美~

UPDATE t_demo
SET foreign_id = '8bb4d552a13ea3147159bd7f5d5ca851'
WHERE id IN
(SELECT * FROM (SELECT id FROM t_demo WHERE foreign_id = '#' LIMIT 0, 10) A)

举报

相关推荐

0 条评论