Bonjour,
j'ai ce fonction trigger que j'ai crée
le terminal de mysql m'affiche ces erreurs.
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 CREATE TRIGGER counts AFTER INSERT ON logs FOR EACH ROW BEGIN CASE WHEN NEW.lo>DATE_SUB(NOW(), INTERVAL 1 HOUR) THEN INSERT INTO hosts(host,lastseen,seen) VALUES (NEW.host,NEW.lo,1) ON DUPLICATE KEY UPDATE seen=seen + 1, lastseen=GREATEST(NEW.lo,lastseen), hidden=false; UPDATE mne SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE crc=NEW.mne; UPDATE snare_eid SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE eid=NEW.eid; UPDATE programs SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE crc=NEW.program; INSERT INTO cache (name,value,updatetime) VALUES ('msg_sum',1,NEW.lo) ON DUPLICATE KEY UPDATE value=value + 1,updatetime=NEW.lo; ELSE INSERT INTO hosts(host,lastseen,seen) VALUES (NEW.host,NEW.lo,1) ON DUPLICATE KEY UPDATE lastseen=GREATEST(NEW.lo,lastseen), hidden= false; UPDATE snare_eid SET lastseen=GREATEST(NEW.lo,lastseen), hidden= false WHERE eid=NEW.eid; END;
aidez moi de les corriger
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 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1 mysql> CREATE TRIGGER counts -> AFTER INSERT ON logs -> FOR EACH ROW -> BEGIN -> CASE WHEN NEW.lo>DATE_SUB(NOW(), INTERVAL 1 HOUR) THEN -> INSERT INTO hosts(host,lastseen,seen) VALUES (NEW.host,NEW.lo,1) ON DUPLICATE KEY UPDATE seen=seen + 1, lastseen=GREATEST(NEW.lo,lastseen), hidden=false; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6 mysql> UPDATE mne SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE crc=NEW.mne; ERROR 1054 (42S22): Unknown column 'NEW.mne' in 'where clause' mysql> UPDATE snare_eid SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE eid=NEW.eid; ERROR 1054 (42S22): Unknown column 'NEW.eid' in 'where clause' mysql> UPDATE programs SET seen=seen + 1, lastseen=NEW.lo, hidden= false WHERE crc=NEW.program; ERROR 1054 (42S22): Unknown column 'NEW.program' in 'where clause' mysql> INSERT INTO cache (name,value,updatetime) VALUES ('msg_sum',1,NEW.lo) ON DUPLICATE KEY UPDATE value=value + 1,updatetime=NEW.lo; ERROR 1054 (42S22): Unknown column 'NEW.lo' in 'field list'
merci d'avance
Partager