1615: Prepared statement needs to be re-prepared (o prepared statement precisa ser preparado novamente)
MySQLO que significa?
A execução de um prepared statement do lado do servidor foi rejeitada porque ele se tornou inválido após a alteração dos metadados dos quais depende (definição de tabela/view). O comando precisa ser preparado novamente.
Por que acontece?
DDL (ALTER TABLE) na tabela subjacente depois que o comando foi preparado, a tabela sendo recriada, o cache de metadados enchendo e descartando a entrada, ou limites de table_definition_cache/table_open_cache pequenos demais. Comum em sistemas com muito DDL e em alguns cenários de ORM/pool.
Como resolver
A maioria das bibliotecas cliente captura isso e prepara o comando novamente de forma automática; na aplicação, capture este erro e repita prepare + execute. Se ocorrer com frequência, aumente table_definition_cache e table_open_cache. Evite DDL desnecessário durante o tráfego da aplicação.
Mais entradas deste banco
- 1236Got fatal error 1236 from master when reading data from binary log (erro fatal 1236 do master ao ler o binary log)
- 1129Host 'host' is blocked because of many connection errors (host bloqueado por excesso de erros de conexão)
- 1194Table 'name' is marked as crashed and should be repaired (tabela marcada como corrompida; deve ser reparada)
- 1553Cannot drop index needed in a foreign key constraint (não é possível remover um índice exigido por uma constraint de foreign key)
- 3948Loading local data is disabled; this must be enabled on both the client and server sides (o carregamento de dados locais está desabilitado; deve ser habilitado no cliente e no servidor)
- 1075Incorrect table definition; there can be only one auto column and it must be defined as a key (definição de tabela incorreta; só pode haver uma coluna automática e ela deve ser definida como chave)
- 1055Expression not in GROUP BY (only_full_group_by) (expressão que não está no GROUP BY)