Pessoal, estou com um probleminha ao executar trigger, é a primeira vez que estou mexendo nela e não estou sabendo lidar com ele.
é o seguinte tenho uma tabela chamada noticias com os seguintes campos codnoticia, codnoticiacod, codadmin, titulo, data, conteudo, foto, destaque
quando eu uso o comando Insert Into noticias (codadmin, titulo, data, conteudo, foto, destaque) values ('1', 'teste', '2001-09-23', 'testeteste', '', 'S');
eu quero que a trigger acionasse depois da execução do comando acima para gerar um código criptografado através de uma funcão sha1() e inserir no campo codnoticiacod , mas ocorre um erro: Error Code : 1442 - Can't update table 'noticias' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
DELIMITER $$
DROP TRIGGER /*!50032 IF EXISTS */ `imovel`.`criptografar`$$
create trigger `imovel`.`criptografar` AFTER INSERT on `imovel`.`noticias`
for each row BEGIN
update noticias set codnoticiacod=sha1(NEW.codnoticia);
END;
$$
DELIMITER;
Pergunta
marceloths
Pessoal, estou com um probleminha ao executar trigger, é a primeira vez que estou mexendo nela e não estou sabendo lidar com ele.
é o seguinte tenho uma tabela chamada noticias com os seguintes campos codnoticia, codnoticiacod, codadmin, titulo, data, conteudo, foto, destaque
quando eu uso o comando Insert Into noticias (codadmin, titulo, data, conteudo, foto, destaque) values ('1', 'teste', '2001-09-23', 'testeteste', '', 'S');
eu quero que a trigger acionasse depois da execução do comando acima para gerar um código criptografado através de uma funcão sha1() e inserir no campo codnoticiacod , mas ocorre um erro: Error Code : 1442 - Can't update table 'noticias' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Fico aguardando uma ajuda
Muito obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.