1615: Prepared statement needs to be re-prepared
MySQLЧто это значит?
Выполнение подготовленного на сервере оператора отклонено, так как он стал недействительным после изменения метаданных, от которых он зависит (определения таблицы/представления). Оператор необходимо подготовить заново.
Почему возникает?
DDL (ALTER TABLE) над базовой таблицей после подготовки оператора, пересоздание таблицы, переполнение кеша метаданных с вытеснением записи или слишком малые лимиты table_definition_cache/table_open_cache. Часто встречается в системах с интенсивным DDL и в некоторых сценариях ORM/пулов.
Как исправить
Большинство клиентских библиотек перехватывают эту ошибку и автоматически заново подготавливают оператор; в приложении перехватывайте эту ошибку и повторяйте prepare + execute. Если ошибка повторяется часто, увеличьте table_definition_cache и table_open_cache. Избегайте ненужного DDL во время трафика приложения.
Ещё по этой СУБД
- 1236Got fatal error 1236 from master when reading data from binary log
- 1129Host 'host' is blocked because of many connection errors
- 1194Table 'name' is marked as crashed and should be repaired
- 1553Cannot drop index needed in a foreign key constraint
- 3948Loading local data is disabled; this must be enabled on both the client and server sides
- 1075Incorrect table definition; there can be only one auto column and it must be defined as a key
- 1055Expression not in GROUP BY (only_full_group_by)