Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur « L'instruction préparée doit être re-préparée » dans MySQL ?

Comment résoudre l'erreur « L'instruction préparée doit être re-préparée » dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-26 08:21:02583parcourir

How to Resolve the

Traitement des erreurs de re-préparation des instructions préparées MySQL

Lors de la migration de votre site PHP vers un serveur d'hébergement, vous pouvez rencontrer le message déroutant « Préparé la déclaration doit être re-préparée" erreur. Cela se produit souvent après l'implémentation de procédures stockées MySQL dans votre code.

La racine de ce problème peut résider dans un bug MySQL connu (#42041). Pour y remédier, vous devez augmenter la valeur du paramètre table_definition_cache.

Mise en cache des instructions dans MySQL

Pour optimiser les performances, MySQL met en cache certaines informations sur les tables, y compris leur définitions. Le paramètre table_definition_cache contrôle la taille de ce cache. Lorsque le cache est trop petit, cela peut entraîner l'erreur « L'instruction préparée doit être re-préparée », en particulier lorsque les tables sont fréquemment modifiées.

Augmentation de la valeur table_definition_cache

Pour corriger l'erreur, vous devez augmenter la valeur de table_definition_cache dans votre fichier de configuration MySQL (généralement nommé my.cnf). Recherchez la section [mysqld] et ajoutez la ligne suivante :

table_definition_cache=1000

La valeur optimale pour table_definition_cache dépend de vos modèles d'utilisation spécifiques. Une valeur plus élevée permet à MySQL de mettre en cache davantage de définitions de table, réduisant ainsi le risque de re-préparation des instructions.

Après avoir effectué cette modification, redémarrez votre serveur MySQL pour que les paramètres prennent effet. Cela devrait éliminer l'erreur « La déclaration préparée doit être re-préparée » sur votre serveur d'hébergement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn