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

[SOLUCIONADO] Uso Del Trigger

Estas en el tema de Uso Del Trigger en el foro de Mysql en Foros del Web. Buenos dias colegas, soy nuevo en este foro y necesito de su ayuda. Estoy trabajando con MySQL, phpmyadmin para mi web. El problema es que ...
  #1 (permalink)  
Antiguo 10/03/2015, 12:25
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Uso Del Trigger

Buenos dias colegas, soy nuevo en este foro y necesito de su ayuda. Estoy trabajando con MySQL, phpmyadmin para mi web.
El problema es que uso unos TRIGGER para UPDATE E INSERT dentro de una tabla, funcionaba bien el UPDAT, pero al integrarle mas instrucciones en el mismo TRIGGER me genera error.
Estas son mis instrucciones:

Código MySQL:
Ver original
  1. INSERT INTO t_extintor_reporte(empresa, folio, fecha, observaciones)
  2. VALUES (new.empresa, new.folio, new.fecha, new.comentario);
  3. UPDATE t_extintor_reporte, t_extintor
  4. SET t_extintor_reporte.ubicacion=t_extintor.extintor_desc
  5. WHERE t_extintor_reporte.folio=t_extintor.folio




No entiendo :(

Esta pregunta en otro foro que no era, como borro el otro? Gracias a todos de antemano
  #2 (permalink)  
Antiguo 10/03/2015, 12:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso Del Trigger

y cual es el error???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 10/03/2015, 12:33
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Gracias, que pen...sador soy, deja subo el error, disculpa
  #4 (permalink)  
Antiguo 10/03/2015, 12:35
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Aqui esta la captura del error
  #5 (permalink)  
Antiguo 10/03/2015, 12:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso Del Trigger

tienes un error en la sentencia update, prueba con esto :)

Código SQL:
Ver original
  1. UPDATE t_extintor_reporte t1, t_extintor t2
  2. SET t1.ubicacion=t2.extintor_desc
  3. WHERE t1.folio=t2.folio
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 10/03/2015, 12:53
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Muchas gracias, ya lo modifique y me muestra el mismo error, ya lo hice de diferente manera, pero de ahi no paso :(
  #7 (permalink)  
Antiguo 10/03/2015, 13:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso Del Trigger

ya probaste por separado la consulta del update???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 10/03/2015, 13:44
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, 5 meses
Puntos: 2658
Respuesta: Uso Del Trigger

Ppor lo pronto, cierra la última sentencia.
Luego, haz una prueba manual. Ejecuta esto en la ventana de SQL:

Código MySQL:
Ver original
  1. CREATE TRIGGER hacer_reporte ON t_extintor_foto
  2.   INSERT INTO t_extintor_reporte(empresa, folio, fecha, observaciones)
  3.   VALUES (new.empresa, new.folio, new.fecha, new.comentario);
  4.   UPDATE t_extintor_reporte, t_extintor
  5.   SET t_extintor_reporte.ubicacion=t_extintor.extintor_desc
  6.   WHERE t_extintor_reporte.folio=t_extintor.folio;
  7. END$$
y donde ves el textBox que dice "Delimitador" o algo así, pones los $$ y ejecutas.

Luego dime que pasó.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 10/03/2015, 14:29
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Gracias bro, algo hay en el trigger que no se ejecuta, solo hice el update en sql y si funciona perfectamente, pero ya en el trigger no funciona
  #10 (permalink)  
Antiguo 10/03/2015, 14:48
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, 5 meses
Puntos: 2658
Respuesta: Uso Del Trigger

¿Hiciste lo que te dije?
¿Se entendió que la idea es ver si se crea no desde la herramienta, sino desde código SQL puro?

Haz la prueba exactamente como te digo y muestrame los mensajes de error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 10/03/2015, 15:15
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Gracias :) Aqui esta el error.
  #12 (permalink)  
Antiguo 10/03/2015, 16:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso Del Trigger

prueba con:


Código MySQL:
Ver original
  1. CREATE TRIGGER hacer_reporte AFTER INSERT
  2. ON t_extintor_foto
  3.   INSERT INTO t_extintor_reporte(empresa, folio, fecha, observaciones)
  4.   VALUES (new.empresa, new.folio, new.fecha, new.comentario);
  5.   UPDATE t_extintor_reporte, t_extintor
  6.   SET t_extintor_reporte.ubicacion=t_extintor.extintor_desc
  7.   WHERE t_extintor_reporte.folio=t_extintor.folio;
  8. END$$
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #13 (permalink)  
Antiguo 10/03/2015, 16:11
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, 5 meses
Puntos: 2658
Respuesta: Uso Del Trigger

Bueno, eso te pasa porque no estás leyendo con cuidado lo que te dije que hicieras.

Yo te dije esto:
Cita:
y donde ves el textBox que dice "Delimitador" o algo así, pones los $$
Pero tu estás poniendo ";".

Haz exactamente como te digo...

Usa esto:
Código MySQL:
Ver original
  1. CREATE TRIGGER hacer_reporte AFTER INSERT ON t_extintor_foto
  2.   INSERT INTO t_extintor_reporte(empresa, folio, fecha, observaciones)
  3.   VALUES (new.empresa, new.folio, new.fecha, new.comentario);
  4.   UPDATE t_extintor_reporte, t_extintor
  5.   SET t_extintor_reporte.ubicacion=t_extintor.extintor_desc
  6.   WHERE t_extintor_reporte.folio=t_extintor.folio;
  7. END $$

Y en ese textbox pon "$$", es decir, dos signos $.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 10/03/2015, 16:37
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

No funciono camaradas :(, la instruccion no es el del error, porque lo hago por separado y si funciona.
No se que sea :(
  #15 (permalink)  
Antiguo 10/03/2015, 16:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso Del Trigger

que hiciste? que paso???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #16 (permalink)  
Antiguo 10/03/2015, 21:33
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, 5 meses
Puntos: 2658
Respuesta: Uso Del Trigger

Pues este código lo corri en consola de MySQL, y el trigger se creó correctamente.
Código MySQL:
Ver original
  1. delimiter $$
  2. CREATE TRIGGER hacer_reporte AFTER INSERT ON t_extintor_foto
  3.   INSERT INTO t_extintor_reporte(empresa, folio, fecha, observaciones)
  4.   VALUES (new.empresa, new.folio, new.fecha, new.comentario);
  5.   UPDATE t_extintor_reporte, t_extintor
  6.   SET t_extintor_reporte.ubicacion=t_extintor.extintor_desc
  7.   WHERE t_extintor_reporte.folio=t_extintor.folio;
  8. END $$
  9. delimiter ;
Yo insisto en que no estás haciendo lo que te dije.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 11/03/2015, 07:01
 
Fecha de Ingreso: marzo-2015
Mensajes: 8
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Uso Del Trigger

Buenos dias camaradas, Excelente gnzsoloyo, me funciono.
Borre todas las instrucciones y empece desde cero. Wuala, funciono, muchas gracias a todos :)

Etiquetas: fecha, php, sql, tabla, trigger, update
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:09.