[MYSQL] Incrémentation comme avec le PHP ou le C

Incrémentation comme avec le PHP ou le C [MYSQL] - SQL/NoSQL - Programmation

Marsh Posté le 27-09-2005 à 10:49:13    

Bonjour,
j'aimerais savoir si il y a une facon d'incrémenter un nombre en mysql sans utiliser la fonction auto_increment.
En fait je suis sur un projet de forum (Pour apprendre a mieux manipuler php/mysql), et pour éviter de trop solicité la base de donnée à chaque affichage, j'ai préférer stocker dans chaque parti du forum (Catégorie/sous-Catégorie/Sujet), le nombre de messages qu'il contient, ainsi au lieu que la base de donné calcul à chaque affichage combien il y a de messages il suffirait de lire directement le nombre de messages de la partie actuelle.
 
La seule solution que j'ai trouver c'est d'appeler une fois la base SQL pour récupérer le nombre actuelle de message et ensuite faire un "update" pour insérer dans la base sql le nouveau nombre(incrémenter par php)...
 
Comme je trouve ça un peu long j'aimerais savoir si il ya aurait un moyen d'aller plus vite...
 
@+


Message édité par zzarbi974 le 27-09-2005 à 11:03:46

---------------
Chouette cette Inspiron 9300
Reply

Marsh Posté le 27-09-2005 à 10:49:13   

Reply

Marsh Posté le 27-09-2005 à 12:00:42    

UPDATE maTable
SET nombre = nombre + 1
WHERE maCategorie = 'blabla';

Reply

Marsh Posté le 27-09-2005 à 12:30:50    

petite astuce pour pas foutre en l'air une table entiere avec un update:
ecrivez toujours le where avant le update (chronologiquement parlant biensur)

Reply

Marsh Posté le 27-09-2005 à 13:06:46    

Et avant le commit, vérifiez les données mises à jour ;)

Reply

Marsh Posté le 27-09-2005 à 13:08:07    

je sais pas sur les dernières versions, mais en tout cas à l'époque yavait pas de commit avec mysql...

Reply

Marsh Posté le 27-09-2005 à 13:19:08    

avec le format de tables innoDB maintenant oui (a partir de 4.1.X)

Reply

Marsh Posté le 27-09-2005 à 13:20:04    

ah ok, au temps pour moi... Merci de l'info ;)

Reply

Marsh Posté le 27-09-2005 à 14:29:47    

Merci pour l'aide... ;)
 
Heu pour le commit, pourrais-je avoir des explications ?
Car je n'ai pas compris son utilité avec mysql...


---------------
Chouette cette Inspiron 9300
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed