Estoy buscando crear un disparador de MySQL en una tabla. Básicamente, estoy creando una secuencia de actividad y necesito registrar acciones de los usuarios. Cuando un usuario hace un comentario, quiero que se active un disparador de base de datos en esa tabla y:¿Cómo programar un disparador de MySQL para insertar una fila en otra tabla?
- Obtenga el ID de la última fila insertada (la identificación de la fila de comentarios).
- realiza un INSERTAR en una tabla de actividades, utilizando los datos de la última fila insertada.
Básicamente, reproduciré este disparador para eliminar comentarios.
preguntas que tenía:
- Es LAST_INSERT_ID() la mejor manera de captar la identificación?
- ¿Cómo almaceno adecuadamente los datos de la última fila de comentarios insertados para usar en mi declaración "INSERTAR en actividades"?
- ¿Debo utilizar una combinación de procedimientos almacenados, así como el disparador?
- ¿Cómo sería la estructura básica del gatillo?
¡Gracias! Han pasado algunos años desde que toqué algo relacionado con desencadenantes DB, procedimientos y funciones.
Para todos preguntándose lo que el "nuevo" aquí está de pie para: _Usted puede hacer referencia a columnas de la tabla sujeto (la tabla asociada con el gatillo) mediante el uso de los alias VIEJO y NUEVO. OLD.col_name se refiere a una columna de una fila existente antes de que se actualice o elimine. NEW.col_name hace referencia a la columna de una nueva fila que se insertará o una fila existente después de que se actualice._ http://dev.mysql.com/doc/refman/5.0/en///create-trigger.html – SimonSimCity
@ f00, ¿puede decirme por favor en este desencadenante ... como hay una cláusula 'para cada fila' escaneará toda la tabla, o insertará solamente nuevas filas. Gracias por su ayuda – SAM
@SAM, "para cada fila" considera solo las filas actualizadas/insertadas según la documentación de mysql. –