question probablement simple mais ne peut pas le faire fonctionner:
J'ai une table avec deux colonnes DateTime. Afin de configurer un indice de date et de faire des requêtes plus simples, j'ai ajouté deux colonnes de date à côté.
Maintenant, je voudrais, chaque fois qu'une ligne est insérée ou mise à jour, pour extraire la partie de date des colonnes DateTime, et insérer ou mettre à jour les colonnes de date.
Pas très bien versé avec des déclencheurs, les pointeurs seraient donc très appréciés.
version du serveur: 5.1.49-3
On ne sait pas pourquoi tu as besoin de cela mais en supposant que la table ressemble à quelque chose comme
CREATE TABLE Table1
(`id` int not null auto_increment primary key,
`dt1` datetime,
`dt2` datetime,
`d1` date,
`d2` date);
vos déclencheurs pourraient regarder la voie suivante
CREATE TRIGGER tg_bi_table1
BEFORE INSERT ON table1
FOR EACH ROW
SET NEW.d1 = DATE(NEW.dt1),
NEW.d2 = DATE(NEW.dt2);
CREATE TRIGGER tg_bu_table1
BEFORE UPDATE ON table1
FOR EACH ROW
SET NEW.d1 = DATE(NEW.dt1),
NEW.d2 = DATE(NEW.dt2);
Voici sqlfiddle Démo