8768 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je cherche à faire une conversion de toutes les dates d'une colonne en timestamp, et ce, via une requête MySQL : cela vous semble-t-il possible ?

Les dates dont j'ai hérité dans la table de ma base de données de l'application sur laquelle je bosse sont encodées selon 2 formats :
- date : 17-5-2005
- stamp : 2005-05-17 15:21:50

J'ai déjà fait en sorte de dupliquer la colonne "date" dans une seconde intitulée "timestamp".
Je cherche désormais à réaliser une update massive de cette colonne dupliquée et j'ai tenté ceci :
UPDATE table SET timestamp = unix_timestamp(date);


Malheureusement, c'est visiblement trop simple, mon SGBD me retourne l'erreur suivante :
Erreur dans la requête (1292): Incorrect datetime value: '17-5-2005'

Avez-vous une idée de la faisabilité technique de mon intention et de la manière dont je pourrais parvenir à mes fins, svp ?

Merci d'avance ! Smiley cligne

Bon dimanche.
J'ai fini par arriver à mes fins :

UPDATE matable SET timestamp = date;
UPDATE table SET timestamp = str_to_date( timestamp, '%d-%m-%Y' );
UPDATE table SET timestamp = unix_timestamp(timestamp);


Ou encore :
CREATE VIEW mavue AS
SELECT id, date, unix_timestamp(str_to_date(date,'%d-%m-%Y')) as timestamp
FROM matable;



Ce fut laborieux mais nous l'eûmes ! Smiley confused
Modifié par Reka (31 Jan 2017 - 21:27)