Oct 06
28
Attention au Null avec MySQL
Tous les SGBD ne sont pas créés égaux ! Récemment, j’ai vécu un problème d’une requête SQL qui ne désirait pas faire ce qu’elle devait faire. Effectivement, avec MySQL 4.1, il y avait un requête de type “update” récalcitrante qui ne faisait pas la mise à jour d’un champ de la db.
Voici la requête en question:
UPDATE Table_1
SET Champ_1 = Champ_1 + 1
WHERE Id = 123;
où le Champ_1 est un champ numérique permettant les “null”. Lors de l’exécution de cette requête, même si la ligne 123 existait dans la DB la mise à jour du Champ_1 ne s’effectuait pas et phpMyAdmin donnait 0 ligne modifiée.
Que ce passe-t-il ?
Tout ici ce joue autour du champ numérique qui supports les “null”. Le fait que le Champ_1 support le nul et qu’il a la valeur nulle fait en sorte que l’ajout de 1 à “null” donne “null” et fait en sorte que la ligne “n’est pas mise à jour”.
happy programming