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

1615: Prepared statement needs to be re-prepared (o prepared statement precisa ser preparado novamente)

MySQL

O 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.

Abrir no DBAtlas →

Mais entradas deste banco