Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL UUID() lorsqu'il n'est pas unique ?

Eh bien, si vous appelez UUID() deux fois et obtenir les mêmes résultats, la chose la plus problématique serait que "les choses sont cassées" (tm). C'est censé être unique et ça devrait toujours l'être, pour autant que je sache.

Il n'y aurait pas de code "régénéré" disponible :la fonction est conçue pour créer des clés uniques même sur plusieurs ordinateurs, alors comment pourrait-elle même savoir que son résultat n'est pas unique ?

de http://dev.mysql.com/ doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

Peut-être que tu veux dire autre chose ? Par exemple, si vous utilisez UUID() pour générer quelque chose qui devrait être unique (comme une clé primaire, ou un champ Unique, etc.), et vous avez précédemment ajouté le même numéro (comme par exemple vous avez appelé UUID() une fois, mais inséré quelque chose deux fois), alors vous obtiendrez simplement l'erreur par défaut que vous obtenez lors de l'ajout de contenu non unique à un endroit qui devrait être unique. Vous n'en recevrez pas de nouveau.

  1. Le manuel. Lisez-le, et comment il utilise différentes parties pour générer le uuid . :http://dev.mysql.com /doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

  2. Vérifiez le lien sur ce manuel pour la définition réelle (mais c'est assez lu, donc vous pouvez sauter celui-ci) :https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=c706

  3. Quelques mesures plus faciles à comprendre sur la probabilité de doublons ici :http://en.wikipedia.org/wiki/ Universally_unique_identifier

  4. il est également question sur le site mysql (forums, etc.) de l'utiliser comme clé primaire, mais comme je suis au travail et que je manque de temps, vous devez rechercher cela vous-même :)