首页 >数据库 >mysql教程 >如何在 MySQL UPDATE 查询中使用 LIMIT?

如何在 MySQL UPDATE 查询中使用 LIMIT?

Barbara Streisand
Barbara Streisand原创
2024-11-30 17:31:12650浏览

How to Use LIMIT in MySQL UPDATE Queries?

在 MySQL 中更新具有限制的行

在 MySQL 中,在 UPDATE 查询中使用 LIMIT 子句可能会造成混淆。在这里,我们详细解释其用法并解决相关问题。

使用 LIMIT 查询

要更新特定范围内的行,可以使用以下语法:

UPDATE table_name SET column_name = value
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM table_name
        ORDER BY id ASC
        LIMIT start_row, row_count
    ) tmp
)

例如,要将行从 1001 更新到 1100, use:

UPDATE table_name SET p_id = 3
WHERE id IN (
    SELECT id FROM (
        SELECT id FROM table_name
        ORDER BY id ASC
        LIMIT 1001, 1000
    ) tmp
)

无效查询

您提供的查询 (UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000) 无效,因为无法使用 LIMIT直接在 UPDATE 语句中。它必须在子查询中应用,如上所示。

更新空值

如果 p_id 列包含 NULL 值,则以下查询将不起作用:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null

要更新 NULL 值,可以使用 IS NULL状况:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL

以上是如何在 MySQL UPDATE 查询中使用 LIMIT?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn