Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!
Eu estou com o seguinte problema. Eu preciso inserir uma linha na mesma tabela que foi inserido um dado, desde que a linha inserida possua um dado específico. Eu fiz a seguinte trigger:
DELIMITER |
DROP TRIGGER IF EXISTS atualiza_download |
CREATE TRIGGER atualiza_download AFTER INSERT ON selects_checkboxes
FOR EACH ROW
BEGIN
IF NEW.Tabela_sel = 'downloads' THEN
INSERT INTO selects_checkboxes (Campo_txf, Tabela_sel, Campo_tabela_sel) VALUES (NEW.Campo_txf, 'usuarios_ftp', 'Departamento_chb');
END IF;
END;
|
DELIMITER ;
Ele cria a trigger normal, só que está retornando o seguinte erro quando eu insiro um dado com o campo 'downloads' na coluna Tabela_sel:
"Can't update table 'selects_checkboxes' in stored function/trigger because it is already used by statement which invoked this stored function/trigger."
Eu andei pesquisando, e parece que o mysql não aceita que uma trigger insira uma nova linha na mesma tabela que foi modificada (parece que funciona se for fazer update, mas não achei nada para insert).
Eu gostaria de saber se caso isso realmente não funcione, de que forma eu poderia inserir esta linha na mesma tabela ou se caso funcione, o que estou fazendo de errado?
OBS.: eu utilizei BEFORE no lugar do AFTER e dá o mesmo erro.
Carregando comentários...