[MySQL 5] Champs pleins après UPDATE - SQL/NoSQL - Programmation
MarshPosté le 07-03-2009 à 19:28:21
Bonjour,
J'ai un site internet chez un hébergeur professionel. Depuis plus d'un mois, j'ai occasionellement des champs pleins [4294967295 en (INT, unsigned)] après exécution de requêtes UPDATE sur MySQL 5.0.32. Parfois 10 par jour, parfois 0 pendant une semaine.
Exemple de requête : argent=493023, avant requête UPDATE mabase.Acheteurs SET argent=argent-110200, fleurs=fleurs+1 WHERE ach=5; argent=4294967295, après requête (Valeur maximale)
Pour éviter ce problème je dois faire mes incrémentations/décrémentations en php : argent=493023, avant requête SELECT argent,fleurs FROM mabase.Acheteurs WHERE ach=5; $VARargent-=110200; $VARfleurs+=1; UPDATE mabase.Acheteurs SET argent=".$VARargent.", fleurs=".$VARfleurs." WHERE ach=5; argent=382823, après requête (Ok)
Coder de cette nouvelle façon peut engendrer des problèmes s'il y a des connexions simultanées. Je n'ai aucun message d'erreur php ou mysql et mon hébergeur me dit que la base n'a pas de problème. Et non, argent n'égale jamais moins de 0, je connais cette erreur qui donnerait le même résultat sous MySQL.
Est-ce qu'il y a quelque chose que je peux faire? Merci de me répondre.
Marsh Posté le 07-03-2009 à 19:28:21
Bonjour,
J'ai un site internet chez un hébergeur professionel. Depuis plus d'un mois, j'ai occasionellement des champs pleins [4294967295 en (INT, unsigned)] après exécution de requêtes UPDATE sur MySQL 5.0.32. Parfois 10 par jour, parfois 0 pendant une semaine.
Exemple de requête :
argent=493023, avant requête
UPDATE mabase.Acheteurs SET argent=argent-110200, fleurs=fleurs+1 WHERE ach=5;
argent=4294967295, après requête (Valeur maximale)
Pour éviter ce problème je dois faire mes incrémentations/décrémentations en php :
argent=493023, avant requête
SELECT argent,fleurs FROM mabase.Acheteurs WHERE ach=5;
$VARargent-=110200;
$VARfleurs+=1;
UPDATE mabase.Acheteurs SET argent=".$VARargent.", fleurs=".$VARfleurs." WHERE ach=5;
argent=382823, après requête (Ok)
Coder de cette nouvelle façon peut engendrer des problèmes s'il y a des connexions simultanées.
Je n'ai aucun message d'erreur php ou mysql et mon hébergeur me dit que la base n'a pas de problème.
Et non, argent n'égale jamais moins de 0, je connais cette erreur qui donnerait le même résultat sous MySQL.
Est-ce qu'il y a quelque chose que je peux faire? Merci de me répondre.
Merci de votre réponse.