Salut à tous,
Avec MySQL :
1 2 3 4
| CREATE TABLE matable (monchamp tinyint(3) unsigned NOT NULL);
INSERT INTO matable (monchamp) VALUE (0);
UPDATE matable SET monchamp = monchamp -1;
SELECT monchamp FROM matable; |
Donne en résultat :
D'accord l'application devrait faire en sorte que ça n'arrive jamais mais nous ne vivons pas tous dans le meilleur des mondes
Dans tous les cas c'est un comportement bizarre mais assumé de MySQL apparemment.
Certains préconisent d'ailleurs d'utiliser au préalable :
SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
Ainsi mon SELECT précédent renvoie zéro ce qui est moins dangereux pour l'application.
Ma question est : Avez-vous déjà tenté de mettre en place ce mode ? Y'a t'il une contre-indication (Genre je vais avoir des résultats bizarres par ailleurs sur d'autres requêtes) ?
Partager