DBAtlas · Atlas de operações de banco de dados

1418: Function has none of DETERMINISTIC, NO SQL, or READS SQL DATA (binary logging enabled) (a função não tem DETERMINISTIC, NO SQL nem READS SQL DATA)

MySQL

O que significa?

Uma stored function estava sendo criada, mas o binary logging está habilitado e a função não foi declarada com nenhuma das características de determinismo/acesso a dados. O MySQL rejeita uma função assim porque ela é ambígua do ponto de vista da segurança da replicação.

Por que acontece?

A função foi definida sem as características DETERMINISTIC, NO SQL ou READS SQL DATA com log_bin ON e log_bin_trust_function_creators=OFF. Sem essas características, o MySQL não pode ter certeza de que a função produz o mesmo resultado na réplica.

Como resolver

Declare o comportamento da função com as características corretas: adicione DETERMINISTIC se ela for realmente determinística, NO SQL se não acessar dados, READS SQL DATA se apenas ler dados. Se tiver certeza de que as funções são seguras, você pode definir log_bin_trust_function_creators=1 como política central; no entanto, declarar a característica corretamente é a abordagem mais segura. Garanta que a característica corresponda ao comportamento real da função.

Abrir no DBAtlas →

Mais entradas deste banco