Bonjour, je cherche à faire un INSERT INTO à partir de date au mauvais format. Par exemple 09/18/2007 00:00:00, ce qui ne passe pas sur MySQL. J'ai donc fait un trigger qui convertit cette chaîne dans le bon format. Ca marche quand mon champ de destination est au format texte, mais pas quand il est au format datetime.
Voici mon trigger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
delimiter //
CREATE TRIGGER gruik BEFORE INSERT ON test
FOR EACH ROW 
BEGIN 
	IF CHAR_LENGTH(NEW.Valeur) > 0 THEN
		SET NEW.Valeur=CONCAT(SUBSTRING(NEW.Valeur,7,4),"-",SUBSTRING(NEW.Valeur,1,2),"-",SUBSTRING(NEW.Valeur,4,2)," ",SUBSTRING(NEW.Valeur,12,8));
	ELSE
		SET NEW.Valeur=NEW.Valeur;
	END IF;
END //
delimiter ;
Un fois que l'insert est fini, il y a 0000-00-00 00:00:00 dans le champ.
Merci de votre aide, je sèche