ciao a tutti, ho questo codice che non vuole proprio funzionare.. il problema come al solito è aggravato anche dalla pessima gestione degli errori di sintassi di Mysql..

codice:
CREATE TRIGGER testindex AFTER INSERT ON test_table_1
FOR EACH ROW
IF NOT EXISTS(SELECT * FROM `index` WHERE index_id = 1 AND anno = 2007 AND mese = DATE_FORMAT(NOW( ), '%m');)
THEN
INSERT INTO `index` (index_id, email, dominio, type, num, size, anno, mese) VALUES ('', 'nome', 'dominio.it', 'IN', 0, 0, DATE_FORMAT(NOW(), '%Y'), DATE_FORMAT(NOW(),'%m') );
END IF;
Ho provato anche utilizzando il BEGIN ... END ma con una sola operazione la versione 5.0.45 di Mysql (quella che monto) dà errore

questo codice SQL restituisce, su PhpMyAdmin:

query SQL: Documentazione

CREATE TRIGGER testindex AFTER INSERT ON test_table_1
FOR EACH
ROW
IF NOT
EXISTS (

SELECT *
FROM `index`
WHERE index_id =1
AND anno =2007
AND mese = DATE_FORMAT( NOW( ) , '%m' )

Messaggio di MySQL: Documentazione
#1064 - 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 3
Qualcuno sa dirmi dov'è il problema? Sto impazzendo...