MySQL écrase-t-il les colonnes inchangées lors des mises à jour ?
Lors de la mise à jour d'une table MySQL, comme le montre l'exemple fourni :
user_id | user_name |
---|---|
1 | John |
2 | Joseph |
3 | Juan |
Si la requête suivante est exécutée :
<code class="sql">UPDATE `user` SET user_name = 'John' WHERE user_id = 1</code>
MySQL modifiera-t-il la colonne "user_name" bien que le changement prévu soit identique à la valeur existante ?
L'approche de MySQL pour Valeurs de colonne inchangées
Selon la documentation MySQL pour l'instruction UPDATE :
"Si vous définissez une colonne sur la valeur qu'elle a actuellement, MySQL le remarque et ne la met pas à jour. "
Dans notre cas, MySQL reconnaît que la valeur "user_name" prévue pour user_id 1 est identique à la valeur actuelle. Par conséquent, MySQL s'abstiendra de modifier la base de données.
Ainsi, la requête s'exécutera sans modifier les données de la table, car MySQL détecte qu'aucune modification réelle n'est nécessaire pour la colonne spécifiée.
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!