Maison >base de données >tutoriel mysql >Comment utiliser LIMIT dans les requêtes MySQL UPDATE ?

Comment utiliser LIMIT dans les requêtes MySQL UPDATE ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-30 17:31:12652parcourir

How to Use LIMIT in MySQL UPDATE Queries?

Mise à jour des lignes avec limite dans MySQL

Dans MySQL, l'utilisation de la clause LIMIT dans une requête UPDATE peut prêter à confusion. Ici, nous fournissons une explication détaillée de son utilisation et abordons les questions connexes.

Requête avec LIMIT

Pour mettre à jour les lignes dans une plage spécifique, vous pouvez utiliser la syntaxe suivante :

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
)

Par exemple, pour mettre à jour les lignes de 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
)

Requête invalide

La requête que vous avez fournie (UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000) n'est pas valide car LIMIT ne peut pas être utilisé directement dans une instruction UPDATE. Il doit être appliqué dans une sous-requête comme indiqué ci-dessus.

Mise à jour des valeurs nulles

Si la colonne p_id contient des valeurs NULL, la requête suivante ne fonctionnera pas :

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

Pour mettre à jour les valeurs NULL, vous pouvez utiliser la condition IS NULL :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn