Maison >base de données >tutoriel mysql >Comment mettre à jour une plage spécifique de lignes dans MySQL et gérer les valeurs NULL ?

Comment mettre à jour une plage spécifique de lignes dans MySQL et gérer les valeurs NULL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-04 03:40:12492parcourir

How to Update a Specific Range of Rows in MySQL and Handle NULL Values?

MySQL : mise à jour des lignes avec LIMIT

La mise à jour d'une plage spécifique de lignes dans MySQL peut être réalisée à l'aide d'une sous-requête en conjonction avec votre instruction UPDATE . L'erreur de syntaxe que vous avez rencontrée dans votre requête initiale provient d'une spécification incorrecte de la clause limit.

Pour mettre à jour les lignes de 1 001 aux 1 000 suivantes, utilisez la construction suivante :

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

Concernant le problème avec la mise à jour des valeurs NULL, votre requête :

UPDATE table_name SET p_id = 3 WHERE p_id = null

n'est pas correcte car MySQL traite NULL comme une valeur distincte. Pour mettre à jour les valeurs NULL, utilisez l'opérateur de comparaison IS NULL :

UPDATE table_name 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