首页 > 数据库 > mysql教程 > 如何使用 LIMIT 更新 MySQL 中的特定行数?

如何使用 LIMIT 更新 MySQL 中的特定行数?

Mary-Kate Olsen
发布: 2025-01-02 14:36:44
原创
654 人浏览过

How to Update a Specific Number of Rows in MySQL Using LIMIT?

在 MySQL 中使用 LIMIT 更新多行

您正在尝试在 MySQL 查询中使用 LIMIT 子句更新特定数量的行,但遇到错误。让我们了解为什么您的初始查询可能失败以及如何修复它。

UPDATE messages set test_read =1
WHERE userid='xyz'
ORDER BY date_added DESC
LIMIT 5, 5 ;
登录后复制

上面的查询无效,因为 LIMIT 期望一个正整数表示与结果集开头的偏移量,然后要更新的行数。在查询中,您同时指定了偏移量 (5) 和限制 (5),这是不正确的。

要更新从偏移量开始的特定行数,可以使用子查询来选择要更新的行,然后更新它们。下面是修改后的查询:

UPDATE messages SET test_read=1
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM messages 
        ORDER BY date_added DESC  
        LIMIT 5
    ) tmp
);
登录后复制

在此查询中,子查询用于选择要更新的行的 ID,从第 5 行开始按 date_added 列的降序排列。然后,主查询使用 IN 子句仅更新这些特定行。

以上是如何使用 LIMIT 更新 MySQL 中的特定行数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板