L'instruction préparée MySQL nécessite une nouvelle préparation : dépannage de l'erreur « L'instruction préparée doit être re-préparée »
Lorsque vous rencontrez l'erreur « Instruction préparée doit être re-préparé" dans MySQL, cela indique une incohérence entre les versions serveur et client d'une définition de table. Généralement, ce problème survient après la migration du code impliquant des procédures stockées MySQL vers un serveur d'hébergement.
Cause de l'erreur :
L'erreur se produit car MySQL conserve un cache de table les métadonnées, qui sont utilisées pour optimiser les performances en réduisant le besoin de récupérer les informations de colonne pour chaque requête. Cependant, si la structure de la table change entre les versions sur la machine locale et sur le serveur d'hébergement, les métadonnées mises en cache deviennent obsolètes et l'instruction ne peut plus être exécutée avec succès.
Solution potentielle :
Comme suggéré par le bug MySQL n°42041, augmenter la valeur de la variable "table_definition_cache" peut résoudre le problème. Cette variable spécifie le nombre de tables que MySQL mettra en cache. En augmentant la taille du cache, vous pouvez réduire le risque de divergences entre les définitions de table mises en cache et réelles.
Instructions :
SET GLOBAL table_definition_cache = <new_value>;
Référence :
Pour Pour plus d'informations sur la mise en cache des instructions dans MySQL, reportez-vous à la documentation officielle de MySQL : https://dev.mysql.com/doc/refman/8.0/en/statement-cache.html
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!