Attention, ce sujet est un sujet ancien (6110 jours sans réponse)
zion
JC> On le fait pour des raisons de performance souvent. Exemple ici, de calculer le nombre de topics dans une catégorie ou de messages dans un topic ce sont des valeurs calculées, mais stockées pour éviter des calculs qui pénaliseraient gravement l'affichage :smile:

C'est juste pour la performance :smile:
Jean-Christophe
Tiens, blague à part, je croyais qu'on ne devait pas stocker de valeur calculée dans une DB. Je suppose qu'il y a une raison, non?

Pourquoi tu le fais, alors?
blietaer
Mon truc a marché :zoubi:

et donc _chou tu confirmes?
Jean-Christophe
Pour les questions relatives à SQL, je vous invite à prendre contact avec chou_ qui a suivi une formation poussée dans le domaine :wink:
blietaer
indice:
UPDATE mytable SET champ_vierge = CONCAT(SUBSTRING(timestamp, 1,9), SUBSTRING( LPAD(SUBSTRING(timestamp,10,6)+500, 6,'0'),1,3));

Tourne pendant des minutes et des minutes (ok y a 12.700.000 rows, mais bon...)

Mais j'ai pas mis de WHERE, ni de FROM ni de...bref, j'ai peur! :itm:
blietaer
Une table.
Une colonne de timestamp, du genre:

+-----------------+
| timestamp |
+-----------------+
| 16:07:03.611959 |
| 16:07:05.031506 |
| 16:07:05.158316 |
| 16:07:05.158477 |
| 16:07:05.192583 |
| 16:07:05.291956 |
| 16:07:05.319757 |
| 16:07:05.411969 |
| 16:07:05.441306 |
| 16:07:05.542032 |
+-----------------+


Pas besoin de la micro-seconde, donc on arrondi:

+-----------------------------------------------------------------------------------------------+
| CONCAT(SUBSTRING(timestamp, 1,9), SUBSTRING( LPAD(SUBSTRING(timestamp,10,6)+500, 6,'0'),1,3)) |
+-----------------------------------------------------------------------------------------------+
| 16:07:03.612 |
| 16:07:05.032 |
| 16:07:05.158 |
| 16:07:05.158 |
| 16:07:05.193 |
| 16:07:05.292 |
| 16:07:05.320 |
| 16:07:05.412 |
| 16:07:05.441 |
| 16:07:05.542 |
+-----------------------------------------------------------------------------------------------+
10 rows in set (0.00 sec)



Mais maintenant je veux placer ce résultat dans une autre colonne (vierge) de la MEME table..

Donc,

UPDATE mytable SET champ_vierge = ....?

merci!
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?