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

Problemas con triggers - no me deja insertar datos

Estas en el tema de Problemas con triggers - no me deja insertar datos en el foro de Mysql en Foros del Web. Hola, tengo una duda, lo que sucede es que cree un trigger para eliminar registros con fehcas vencidas en mi tabla pero me marca un ...
  #1 (permalink)  
Antiguo 26/04/2009, 09:50
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Problemas con triggers - no me deja insertar datos

Hola, tengo una duda, lo que sucede es que cree un trigger para eliminar registros con fehcas vencidas en mi tabla pero me marca un error. Mi tabla es la iguiente:

Pedidos(id_user, codigo, cantidad, fecha, checado)
-------------------------------------------------------------------
CREATE TABLE `pedidos` (
`id_user` varchar(3) NOT NULL,
`codigo` varchar(10) NOT NULL,
`cantidad` int(4) NOT NULL,
`fecha` date NOT NULL,
`checado` int(1) NOT NULL,
PRIMARY KEY (`id_user`,`codigo`,`fecha`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-------------------------------------------------------------------

mi trigger
-------------------------------------------------------------------
CREATE TRIGGER trigger_borrado AFTER INSERT ON pedidos
FOR EACH ROW
DELETE FROM pedidos WHERE fecha <= SUBDATE(CURDATE(), INTERVAL 2 DAY)
-------------------------------------------------------------------

Cada ves que intento insertar registros en mi tabla me marca el siguiente error:
-------------------------------------------------------------------------------------------------------
Can't update table 'pedidos' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
-------------------------------------------------------------------------------------------------------

No se que hacer, gracias de antemano por cualquier ayuda
  #2 (permalink)  
Antiguo 26/04/2009, 10:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problemas con triggers - no me deja insertar datos

No puedes invocar un trigger que realice en la misma tabla una operación que en sí misma dispararía el trigger, es redundante y generaría un loop infinito por generar un proceso recursivo.

Lo que intentas hacer se deben hacer como proceso programado, ya sea en la aplciación como en tareas de mantenimiento o bien con tareas programadas (el CRON de LINUX, por ejemplo).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/04/2009, 19:36
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Problemas con triggers - no me deja insertar datos

Por lo que veo tengo que estudiar mas sql, muchas gracias por la ayuda
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 08:30.