Dépannage de LAST_INSERT_ID() renvoyant 0 dans MySQL
Lors de la tentative de récupération de l'ID de la ligne la plus récemment insérée à l'aide de LAST_INSERT_ID(), certains les utilisateurs rencontrent un problème déroutant où il renvoie systématiquement 0. Cela peut se produire même après l'insertion de lignes à l'aide de diverses méthodes, notamment en spécifiant NULL, 0 ou omission de la valeur de l'ID.
Cause et solution
Le problème survient souvent en raison du paramètre de configuration PHP de MySQL, PersistentConnections, défini sur FALSE. Lorsque PersistentConnections est désactivé, une nouvelle connexion est établie pour chaque requête, ce qui donne lieu à un CONNECTION_ID unique à chaque fois. Par conséquent, la fonction LAST_INSERT_ID() est incapable de suivre les opérations d'insertion sur plusieurs connexions et renvoie 0.
Pour résoudre ce problème, examinez le fichier de configuration PHP de MySQL pour le paramètre PersistentConnections et assurez-vous qu'il est défini sur TRUE. Cela permettra à MySQL de maintenir des connexions persistantes, en préservant le CONNECTION_ID sur plusieurs requêtes et en permettant à LAST_INSERT_ID() de récupérer avec précision l'ID le plus récent.
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!