Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

SET GLOBAL log_bin_trust_function_creators = 1;

Olá galera, tudo bem? Gostaria de saber onde aplicar tal código para criar uma função, por favor. Estou na aula de funções e está dando o erro 1418.

Eu li aqui no fórum da Alura que este código soluciona o erro, mas não sei exatamente onde aplicar!

SET GLOBAL log_bin_trust_function_creators = 1;

3 respostas
CREATE FUNCTION `f_acha_tipo_sabor` (vSabor VARCHAR(50))
RETURNS VARCHAR(20)
BEGIN
DECLARE vRetorno VARCHAR(20) DEFAULT '';
CASE vSabor
WHEN 'Lima / Limão' THEN SET vRetorno = 'Cítrico';
WHEN 'Laranja' THEN SET vRetorno = 'Cítrico';
WHEN 'Morango / Limão' THEN SET vRetorno = 'Cítrico';
WHEN 'Uva' THEN SET vRetorno = 'Neutros';
WHEN 'Morango' THEN SET vRetorno = 'Neutros';
ELSE SET vRetorno = 'Ácidos';
END CASE;
RETURN vRetorno;	
SET GLOBAL log_bin_trust_function_creators = 1;
END

A função que eu escrevi, no caso.

DELIMITER ;

ERROR 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
SQL Statement:
CREATE FUNCTION `f_acha_tipo_sabor` (vSabor VARCHAR(50))
RETURNS VARCHAR(20)
BEGIN
DECLARE vRetorno VARCHAR(20) DEFAULT "";
CASE vSabor
WHEN 'Lima / Limão' THEN SET vRetorno = 'Cítrico';
WHEN 'Laranja' THEN SET vRetorno = 'Cítrico';
WHEN 'Morango / Limão' THEN SET vRetorno = 'Cítrico';
WHEN 'Uva' THEN SET vRetorno = 'Neutros';
WHEN 'Morango' THEN SET vRetorno = 'Neutros';
ELSE SET vRetorno = 'Ácidos';
END CASE;
RETURN vRetorno;	
SET GLOBAL log_bin_trust_function_creators = 1;
END

O log!

solução!

Eu criei uma query e executei

SET GLOBAL log_bin_trust_function_creators = 1;

funcionou! obrigado.

curso nota mil! <3