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

今天在做项目优化的时候,遇到一个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
)

问题解决。

 

 

おすすめ

転載: blog.csdn.net/q1035331653/article/details/88667187