MySQL嵌套查询 This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery错误解决方法

我会带着你远行 2022-03-02 03:48 211阅读 0赞

今天在做项目优化的时候,遇到一个sql报错例子,如果不是常写sql语句的,可能会觉得比较坑。

例子如下:

sql语句

UPDATE pay_index_last_date
SET pay_index_last_date.start_time = ‘2019-03-19 14:15:00’
WHERE
id IN (
SELECT
id
FROM
yq_pay_index_last_date
ORDER BY
start_time DESC
LIMIT 0,
20
)

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

开始以为是版本问题,但是和朋友讨论了下,可能是在同时查和改 一个表。加个别名包一层看看是否可行

所以抱着试一试的心态,修改下sql语句:红色部分是新加的

UPDATE yq_pay_index_last_date
SET yq_pay_index_last_date.start_time = ‘2019-03-19 14:15:00’
WHERE
id IN (
SELECT
a.id
FROM
(
SELECT
id
FROM
yq_pay_index_last_date
ORDER BY
start_time DESC
LIMIT 0,
20
) AS a
)

问题解决。

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读