Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error en trigger

Estas en el tema de Error en trigger en el foro de Mysql en Foros del Web. Despues de mucho buscar logré la solución!!! La copio aquí por si a alguien puede serle útil DROP TRIGGER /*!50030 IF EXISTS */ `iAHistoricoAlumnos`; DELIMITER ...
  #1 (permalink)  
Antiguo 14/05/2012, 12:25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 1
Error en trigger

Despues de mucho buscar logré la solución!!! La copio aquí por si a alguien puede serle útil

DROP TRIGGER /*!50030 IF EXISTS */ `iAHistoricoAlumnos`;

DELIMITER $$

CREATE TRIGGER `AHistoricoAlumnos`
AFTER DELETE ON `Alumno`
FOR EACH ROW
BEGIN
INSERT INTO HistoricoAlumnos
VALUES (old.dni,old.nombre,old.apellidos,old.domicilio,ol d.ciudad,old.cp,old.telefono,old.email);
END $$

DELIMITER ;


Hola!!!!
Necesito vuestra ayuda por favor:
Tengo este trigger

CREATE OR REPLACE TRIGGER AHistoricoAlumnos
AFTER DELETE ON Alumno
FOR EACH ROW
INSERT INTO HistoricoAlumnos
VALUES ((select * from alumno where dni = OLD.dni),OLD.nombre,OLD.apellidos,OLD.domicilio,OL D.ciudad,OLD.cp,OLD.telefono,OLD.email);

El cual lo pongo en el phpmyadmin en la pestaña "sql!, esto valdría para que cada vez que mi aplicación borrara un alumno vaya a la tabla HistoricoAlumnos??

He cambiado el delimitador a "//", ya que estaba en ";" y si no daba error, pero me sigue dando el error siguiente:
#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 'TRIGGER AHistoricoAlumnos AFTER DELETE ON Alumno FOR EACH ROW INSERT INTO Hi' at line 1

He mirado la versión de mysql y es 5.5.16 :S

Alguien sabe por qué?? Muchas gracias!
Y ante todo con ponerlo en la pestaña de SQL y ejecutarlo valdría para que cada vez que se borrara un alumno pasara a esta tabla??
Muchas gracias por adelantado! ;)

Última edición por yasmine27; 14/05/2012 a las 13:29

Etiquetas: php, select, sql, tabla, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.