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

disparadores sql Tengo un error al almacenar el nombre de la columna en la variable y lo uso para OLD.myvar en disparadores sql

Construiría su consulta como una cadena, luego la prepararía y la ejecutaría, algo similar a:

SET @s = CONCAT('INSERT INTO TMP(DATA1, DATA2) VALUES ("DATA",OLD.',TMPCOL,');');

PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;