Bonjour !
Voilà, j'ai un projet CakePHP avec plusieurs tables, dont une table Operations.
Je suis sur phpMyAdmin avec MySQL.
Je souhaiterais que quand un ajout/modification/suppression soit fait sur cette table, un enregistrement soit fait dans une table d'historique.
Ma table Operations ressemble à ceci :
Et je sais qu'il faut que je créée une autre table avec les mêmes champs, en en rajoutant d'autres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CREATE TABLE `operations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `client` varchar(40) NOT NULL, `name` varchar(40) NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, `year` int(4) NOT NULL, `open_recipe` varchar(10) NOT NULL, `open_prod` varchar(10) NOT NULL, `open_retraction` varchar(10) NOT NULL, `reducing_delivery` varchar(10) NOT NULL, `final_delivery` varchar(10) NOT NULL, `user_id` int(11) NOT NULL, `visible` tinyint(1) NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Il faut que je sauvegarde la date à laquelle a été faite cette modif/suppression/ajout, mais en même temps je me dis qu'avec les champs created et modified déjà dans la table, ce n'est peut-être pas nécessaire d'en ajouter ? Et il faut que je garde aussi en mémoire l'utilisateur qui a modifié/supprimé. Celui l'ayant ajouté se trouve déjà dans la table.
Après un peu de recherche, j'ai vu que je pouvais faire cela avec un trigger, sauf que je ne connais pas grand chose sur ce sujet :s
Pouvez-vous m'aider en me donnant des pistes ? En m'expliquant comment faire ?
Merci par avance !
Ju'
Partager