Estoy tratando de escribir un disparador que verifique la tabla A para cualquier registro de inserción o actualización y actualizará mi tabla B con un nuevo registro, pero aparece el siguiente error:

Código de error: 1064. Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar

A continuación se muestran mis tablas:

create table A(count int, trigger_name varchar(25));
create table B(trigger_name varchar(25), time_created Timestamp);

Aquí está mi disparador:

create trigger record_after_insert after insert on A for each row 
Begin
insert into B values (NEW.trigger_name, sysdate());
End;

Estoy usando MySQL versión 5.7.13. Gracias por adelantado.

-2
Vivek S 14 dic. 2016 a las 17:17

2 respuestas

La mejor respuesta
DELIMITER $$
CREATE TRIGGER `record_after_insert` AFTER INSERT ON `A`
FOR EACH ROW
BEGIN
insert into B values (NEW.trigger_name, sysdate());
END $$
DELIMITER ;
2
user3606329 14 dic. 2016 a las 14:25

No tenía los privilegios en la base de datos para ejecutar el disparador después de otorgar los privilegios. Pude ejecutar la declaración del disparador.

0
Vivek S 21 dic. 2016 a las 15:09