Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL UUID() quando non è unico?

Bene, se chiami UUID() due volte e ottenere gli stessi risultati, la cosa più problematica sarebbe che "la roba è rotta" (tm). Dovrebbe essere unico e dovrebbe esserlo sempre, per quanto ne so.

Non ci sarebbe alcun codice di "rigenerazione" disponibile:la funzione è progettata per creare chiavi univoche anche su computer, quindi come potrebbe sapere che il suo risultato non è univoco?

da http://dev.mysql.com/ doc/refman/5.0/en/funzioni-varie.html#function_uuid

Forse intendi qualcos'altro? Ad esempio, se usi UUID() per generare qualcosa che dovrebbe essere univoco (come una chiave primaria, o un campo Univoco ecc.), e hai precedentemente aggiunto lo stesso numero (come ad esempio hai chiamato UUID() una volta, ma inserito qualcosa due volte), quindi otterrai solo l'errore predefinito che ottieni quando aggiungi contenuto non univoco a un luogo che dovrebbe essere unico. Non ne riceverai uno nuovo.

  1. il manuale. Leggilo e come utilizza le varie parti per generare il uuid .:http://dev.mysql.com /doc/refman/5.0/en/funzioni-varie.html#function_uuid

  2. Controlla il link su quel manuale per la definizione effettiva (ma è abbastanza da leggere, quindi potresti saltare questo):https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=c706

  3. Alcune metriche di più facile comprensione sulla probabilità di duplicati qui:http://en.wikipedia.org/wiki/ Identificatore_univoco_universale

  4. si parla anche sul sito mysql (forum, ecc.), sull'utilizzo come chiave primaria, ma dato che sono al lavoro e ho poco tempo, devi cercarlo tu stesso :)