sql >> Base de Datos >  >> RDS >> Mysql

Los disparadores de MySQL no pueden actualizar filas en la misma tabla a la que está asignado el disparador. ¿Solución sugerida?

De hecho, puede subir las filas en la misma tabla que el disparador. El hilo al que te vinculaste incluso tiene la solución.

Por ejemplo:

TestTable ( id / lastmodified / random )

create trigger insert_lastmod
before insert on TestTable
for each row
set NEW.lastmodified = NOW();

insert into TestTable ( `random` ) values ( 'Random' );

select * from TestTable;
+----+---------------------+---------------------+
| id | lastmodified        | random              |
+----+---------------------+---------------------+
|  1 | 2010-12-22 14:15:23 | Random              |
+----+---------------------+---------------------+