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!