Maison >base de données >tutoriel mysql >Les requêtes de mise à jour MySQL écrasent-elles les valeurs existantes lorsqu'elles sont identiques ?

Les requêtes de mise à jour MySQL écrasent-elles les valeurs existantes lorsqu'elles sont identiques ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 10:48:29416parcourir

Does MySQL Update Queries Overwrite Existing Values When They Are The Same?

Requêtes de mise à jour MySQL : écrasement des valeurs existantes

Dans MySQL, lors de la mise à jour d'une table, il est possible de rencontrer un scénario dans lequel la nouvelle valeur que vous spécifiez pour une colonne est la identique à sa valeur actuelle. Dans de tels cas, une question naturelle se pose : MySQL écrasera-t-il la valeur existante ou ignorera-t-il complètement la mise à jour ?

La documentation MySQL pour l'instruction UPDATE fournit la réponse :

Si vous définissez une colonne sur la valeur qu'il a actuellement, MySQL le remarque et ne le met pas à jour.

Cela signifie que lorsque vous exécutez une requête de mise à jour comme :

UPDATE `user` SET user_name = 'John' WHERE user_id = 1

où la valeur de la colonne est déjà « John » , MySQL reconnaîtra que la nouvelle valeur est identique à celle existante et ne tentera pas de la mettre à jour. Il s'agit d'une fonctionnalité d'optimisation qui permet d'éviter les écritures inutiles dans la base de données.

Par conséquent, dans l'exemple fourni, MySQL n'écrasera pas la valeur existante et laissera la colonne 'user_name' inchangée pour l'utilisateur avec user_id = 1. Ceci ce comportement garantit que la base de données n'est pas inutilement surchargée d'opérations d'écriture redondantes.

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