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)
MySQLO 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.
Mais entradas deste banco
- 1785Statement violates GTID consistency
- 3024Query execution was interrupted, maximum statement execution time exceeded (execução da consulta interrompida; tempo máximo de execução excedido)
- 1298Unknown or incorrect time zone
- 1231Variable can't be set to the value of ... (não é possível atribuir esse valor à variável)