Maison >base de données >tutoriel mysql >Pourquoi LAST_INSERT_ID() de MySQL renvoie-t-il zéro ?
MySQL : LAST_INSERT_ID() renvoie zéro
Lors de la tentative de récupération du dernier ID inséré à l'aide de LAST_INSERT_ID() après avoir inséré des données dans une table, les utilisateurs peuvent rencontrer un problème persistant où la fonction renvoie 0. Cela peut se produire même lors de l'utilisation d'autres syntaxes d'insertion telles que l'insertion de NULL ou 0 ou en omettant entièrement les valeurs.
Enquête et solution :
La principale cause de ce problème réside souvent dans le paramètre PersistentConnections de MySQL dans la configuration de phpmyadmin. Lorsque ce paramètre est défini sur FALSE, une nouvelle connexion est établie pour chaque requête, réinitialisant ainsi le contexte de connexion.
Dans ce cas spécifique, le problème provenait du fait que l'indicateur PersistentConnections dans la configuration phpmyadmin était défini sur FALSE. Chaque requête a initié une nouvelle connexion, entraînant un nouveau CONNECTION_ID. Par conséquent, LAST_INSERT_ID() est devenu inefficace, car il s'appuie sur le contexte de connexion pour récupérer le dernier ID inséré.
Conclusion :
En définissant PersistentConnections sur TRUE dans phpmyadmin fichier de configuration, le problème de persistance de la connexion peut être résolu. Cela permet à la fonction LAST_INSERT_ID() de récupérer correctement le dernier ID inséré, car le contexte de connexion est conservé sur plusieurs requêtes.
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!