php / champ mysql

Le
Anthony
bon, je suis légèrement HS mais je bosse sur un script php pour
rapatrier des infos en provenance d'une base de données où je n'ai pas
la main ( export csv ) et me retrouve avec un champ dont j'ignore le type.

j'ai un champ qui ressemble à une datetime mais un peu plus complexe.

Exemple : 2007-09-14 13:38:45.957718

Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
mais je n'arrive pas a trouver ce a quoi ça correspond

quelqu'un a une idée ?

merci,

Anthony
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
P'tit Marcel
Le #12107
j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.
Exemple : 2007-09-14 13:38:45.957718
Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
mais je n'arrive pas a trouver ce a quoi ça correspond...


c'est visiblement un expression de date et d'heure incluant des
microsecondes. Si le champ MySQL est défini comme datetime, la partie
décimale des secondes sera perdue ("microseconds cannot be stored into a
column of any temporal data type").

Pour le stocker dans MySQL en employant php, je ne vois pas de
difficulté particulière. Je crois qu'un simple :

$champ = '2007-09-14 13:38:45.957718';
mysql_query(
"update latable set ladate ='$champ' where lacle = '$cle'")
or die('pb');

devrait marcher.
sinon, tu peux supprimer la partie décimale par un
$pos = strpos($champ, '.');
if($pos) $champ = substr($champ, 0, $pos);


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/

Mickael Wolff
Le #12108

j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.

Exemple : 2007-09-14 13:38:45.957718


En quoi est-il plus complexe ? Parce qu'il indique des microsecondes ?
Du moins, c'est ce qui me vient logiquement à l'esprit.


Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
mais je n'arrive pas a trouver ce a quoi ça correspond...


Datetime ?


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Y a personne
Le #12109
bon, je suis légèrement HS mais je bosse sur un script php pour
rapatrier des infos en provenance d'une base de données où je n'ai pas
la main ( export csv ) et me retrouve avec un champ dont j'ignore le type.

j'ai un champ qui ressemble à une datetime mais ... un peu plus complexe.

Exemple : 2007-09-14 13:38:45.957718

Je voudrais réinsérer ce dernier dans mysql ( sans faire un varchar )
mais je n'arrive pas a trouver ce a quoi ça correspond...

quelqu'un a une idée ?

merci,

Anthony


Se sont des microsecondes :

http://dev.mysql.com/doc/refman/4.1/en/datetime.html

Anthony
Le #12106

c'est visiblement un expression de date et d'heure incluant des
microsecondes. Si le champ MySQL est défini comme datetime, la partie
décimale des secondes sera perdue ("microseconds cannot be stored into a
column of any temporal data type").




en fait je me doutais bien qu'il s'agissait de micros secondes.
donc si j'ai bien compris... je ne peux récupérer ces micro secondes
lors d'une ré-importation.

et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?

merci,

anthony

P'tit Marcel
Le #11596
c'est visiblement un expression de date et d'heure incluant des
microsecondes. Si le champ MySQL est défini comme datetime, la partie
décimale des secondes sera perdue ("microseconds cannot be stored into a
column of any temporal data type").

en fait je me doutais bien qu'il s'agissait de micros secondes.

donc si j'ai bien compris... je ne peux récupérer ces micro secondes
lors d'une ré-importation.

et là un truc m'échappe : pourquoi conserver une partie d'un champ qu'on
ne peut ré-exploiter ( par exemple récupérer dans une autre base ) ?


Réponse basique: on peut toujours stocker une date avec microsecondes
dans un champ varchar :-)

Sinon, je suppose que mysql prévoit à terme de gérer les microsecondes,
mais qu'actuellement cela n'est pas fait parce que le moteur de calcul
n'est pas compatible (fonctions mysql ne pouvant pas prendre en compte
les microsecondes, aléa des microsecondes que l'on trouverait dans un
timestamp automatique, etc.)

Tout cela n'étant plus vraiment en rapport avec le langage php, je
*téléporte* vers le forum kivabien: fr.comp.applications.sgbd


a+
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/


Publicité
Poster une réponse
Anonyme