Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-26 08:21:02
original
758 Les gens l'ont consulté

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
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal