Maison  >  Article  >  développement back-end  >  Plusieurs façons d'obtenir l'identifiant des données qui viennent d'être insérées en php

Plusieurs façons d'obtenir l'identifiant des données qui viennent d'être insérées en php

不言
不言original
2018-05-31 14:57:152162parcourir

Cet article présente principalement plusieurs méthodes sur php pour obtenir l'identifiant des données nouvellement insérées. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Insérer des données dans MySQL. Plusieurs fois, nous souhaitons connaître l’identifiant des données que nous venons d’insérer. Cela nous est très utile. Ci-dessous, je parlerai de trois méthodes couramment utilisées et analyserai leurs avantages et inconvénients une par une.

Utilisez les phrases suivantes :

mysql_query("select max(id) from t1",$link);

Lorsque nous utilisons cette méthode La plus grande valeur d'identifiant obtenue est bien la dernière, mais lorsqu'il y a plusieurs threads de connexion, le plus grand identifiant n'est pas nécessairement celui que nous avons inséré, cela n'utilise donc pas de threads de domaine.

Deuxièmement, utilisez les fonctions suivantes :

msyql_insert_id();

Une fois que le système a exécuté INSERT , lors de la nouvelle exécution de SELECT, il peut avoir été distribué sur différents serveurs back-end. Si le langage de programmation que vous utilisez est PHP, vous devez utiliser mysql_insert_id() pour obtenir le dernier identifiant inséré. Après la fin de chaque INSERT, en fait, La valeur d'auto-incrémentation correspondante a été calculée et renvoyée à PHP. Vous n'avez pas besoin d'émettre une requête distincte, utilisez simplement mysql_insert_id(). Cette fonction est très utile lorsque nous insérons une instruction, elle renvoie automatiquement la dernière valeur d'identifiant. cette fonction Elle n'est utile que pour le lien actuel, c'est-à-dire qu'elle est sécurisée pour plusieurs utilisateurs, nous utilisons donc souvent cette fonction

Mais il y a un problème avec cette fonction qui ne fonctionnera plus ; lorsque l'identifiant est de type bigint, il est donc actuellement utilisé. Soyez prudent avec cette fonction, mais nous rencontrons rarement de tels problèmes, nous pouvons donc la laisser tranquille.

Trois : utilisez la requête

msyql_query("select last_insert_id()");

last_insert_id() est un mysql one La fonction prend également effet sur le lien actuel. Cette utilisation résout le problème de type bigint rencontré dans mysql_insert_id ().

Résumé : Sur la base de l'analyse ci-dessus, utilisez le moins possible la première méthode et utilisez davantage la deuxième méthode. Lorsque vous rencontrez des circonstances particulières, vous pouvez envisager d'utiliser. la troisième méthode

Recommandations associées :

Explication détaillée des étapes pour obtenir l'horodatage zéro heure du jour en utilisant PHP

Exemple de code pour obtenir la longueur d'une vidéo flv en utilisant PHP

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