J'ajoute une colonne J'ai besoin d'écrire TSU code> (mise à jour TIMESTAMP) de type
DateTime code> à un certain nombre de mes tables.
avant de mettre à jour les déclencheurs code> qui mettront à jour la colonne sur
actuel_timettamp () code>, mais je ne peux pas le faire correctement. Essayé: P>
DELIMITER $$
CREATE
TRIGGER `cams`.`tsu_update_csi` BEFORE UPDATE
ON `cams`.`csi`
FOR EACH ROW BEGIN
UPDATE csi SET tsu = CURRENT_TIMESTAMP WHERE csi_code = OLD.csi_code;
END$$
DELIMITER ;
4 Réponses :
Si le champ peut être défini comme un horodatage, vous pouvez utiliser les éléments suivants:
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
Non, je ne peux pas faire cela, si je garde l'original TS code> colonne: `TS horodatage par défaut actuel_timettamp`
Je ne sais pas si cela fonctionnera pour vous, mais vous pouvez toujours en faire un champ horodatage code> sans valeur par défaut - MySQL définira automatiquement la valeur du premier champ de ce type défini dans la table à l'horodatage actuel sur chaque mise à jour. P>
Merci Zerofiz et Ian. J'ai déjà une colonne tts code> qui est définie sur par défaut actuelle_TimeStamp, car elle était destinée à représenter la "date créée". De ma lecture sur l'horodatage, il n'est pas possible d'utiliser Current_TimeStamp comme valeur par défaut sur une colonne TS et sur la mise à jour dans une autre colonne (ce qui est exactement ce que je voulais vraiment bien sûr). Je vérifie avec le client pour voir si nous pouvons utiliser le champ
TS code> existant comme "Date mise à jour" et distribuer avec la "date créée".
D'accord, essayez celui-ci:
DELIMITER $$ CREATE TRIGGER `cams`.`tsu_update_csi` BEFORE UPDATE ON `cams`.`csi` FOR EACH ROW BEGIN SET NEW.tsu = CURRENT_TIMESTAMP; END$$ DELIMITER ;
Merci, cet exemple est ce dont j'avais besoin! Comprendre l'horodatage beaucoup mieux maintenant.
TS2 Vous pouvez donc utiliser et DateUpdatedated Vous pouvez utiliser ci-dessus comme commandes SQL ou valeurs par défaut dans MySQL Workbench P> Current_TimeStamp sur la mise à jour Current_TimeStamp CODE> Fonctionne pour
DateTime CODE> et TIMESTAMP, pour un et plusieurs champs P>
actuel_timettamp code> (comme valeur par défaut) p>
Current_TimeStamp sur la mise à jour actuelle_Timestamp CODE> Fonctionne pour
DateTime code> et
horodatage code> TIMESTAMP (comme valeur par défaut) p>
Vous devriez probablement mentionner dans la question que vous avez déjà une colonne de type horodatage avec une valeur par défaut de Current_TimeStamp, pour stocker le temps de création des enregistrements.
Tu as raison Ian. Je n'ai pas compris les implications des colonnes à horodatage multiples avant. Merci de votre aide.