Bonjour à toutes et à tous,
je suis en train de créer un trigger sur MySql 5. Le but Effectuer un test sur la ligne à inséerer. Si le différence entre @send et @lastoken est < 300, de faire un update sur la ligne à insérer.
J'obtiens comme erreur : #1415 - Not allowed to return a result set from a trigger
Et voici le code
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
18
19
20
21
22
23
24
25
26
27
28
29
30
 
DELIMITER $$
CREATE TRIGGER addToken BEFORE INSERT ON sessionend
FOR EACH
ROW BEGIN DECLARE send INT;
 
DECLARE lastoken INT;
 
IF( NEW.token != "" ) THEN SET send =0;
 
SET lastoken =0;
 
SELECT @send = timestamp
FROM sessionend
WHERE token = 'sessionEnded';
 
SELECT @lastoken = timestamp
FROM sessionend
ORDER BY timestamp DESC
LIMIT 1 ;
 
IF( (
@send - @lastoken
) <300 ) THEN UPDATE sessionend SET NEW.token = 'continue' WHERE token = 'sessionEnded';
 
END IF ;
 
END IF ;
 
END $$