Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

php / champ mysql

5 réponses
Avatar
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

5 réponses

Avatar
P'tit Marcel
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/

Avatar
Mickael Wolff

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

Avatar
Y a personne
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

Avatar
Anthony

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

Avatar
P'tit Marcel
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/