Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2006, 13:21
dramatictone
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 19 años
Puntos: 0
Problema con trigger en MySql

Hola: estoy tratando de desarrollar una base de datos para guardar información sobre mis discos, y a la hora de crear un trigger para impedir la inserción de dos discos iguales, me encuentro con que me da el siguiente error, sin tener ni idea del por qué:

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 'OR UPDATE ON Discos FOR EACH ROW

BEGIN
IF NEW.titulo <> OLD.titulo AND NEW' at line 2
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 IF' at line 1
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
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 1



El código del trigger es este, y la verdad, si podéis echarme una mano a la hora de ver qué es lo que falla, os lo agradecería horrores, porque a mí no se me ocurre mucho...

CREATE TRIGGER insercion
BEFORE INSERT OR UPDATE ON Discos FOR EACH ROW

BEGIN
IF NEW.titulo <> OLD.titulo AND NEW.grupo <> OLD.grupo AND NEW.anio <> OLD.anio THEN
RAISE_ERROR(-20005,'El disco ya existe en la base de datos');
END IF;
END;
/


Gracias de antemano ;)