1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| -- création de la table
CREATE TABLE IF NOT EXISTS `test` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`field1` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
-- création du trigger
DROP TRIGGER IF EXISTS `t1` ;
CREATE TRIGGER `t1` AFTER INSERT ON `test` FOR EACH ROW BEGIN
-- traitement quelconque qui prends tu temps
SET @CPT=1;
WHILE
@CPT < 5000000
DO
SET @CPT=@CPT+1;
END WHILE;
END;
-- insertion d'une données, pour déclencher le trigger
INSERT INTO `test` (field1`) VALUES (1);
-- après l'insertion, si on effectue cette requête de select plusieurs fois , on vois que la ligne n'est insérée quaprès un certain délais, ce délaiscorrespondant au traitement inclus dans le trigger
select * from `test`; |