sql >> Databáze >  >> RDS >> Mysql

MySQL UUID(), když není jedinečné?

Pokud zavoláte UUID() dvakrát a získat stejné výsledky, nejproblematičtější by bylo, že "věci jsou rozbité" (tm). Má být jedinečný a měl by být vždy, pokud vím.

Nebyl by k dispozici žádný „regenerační“ kód:funkce je navržena tak, aby vytvářela jedinečné klíče i mezi počítači, tak jak by mohla vůbec vědět, že její výsledek není jedinečný?

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

Možná myslíš něco jiného? Pokud například použijete UUID() vygenerovat něco, co by mělo být jedinečné (jako primární klíč nebo jedinečné pole atd.), a předtím jste přidali stejné číslo (jako jste například zavolali UUID() jednou, ale vložili něco dvakrát), pak se vám pouze zobrazí výchozí chyba, která se zobrazí při přidávání nejedinečného obsahu na místo, které by mělo být jedinečné. Nový už nedostanete.

  1. manuál. Přečtěte si jej a jak používá různé části ke generování uuid .:http://dev.mysql.com /doc/refman/5.0/cs/miscellaneous-functions.html#function_uuid

  2. Podívejte se na odkaz v této příručce pro skutečnou definici (ale je to docela čtené, takže tuto můžete přeskočit):https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=c706

  3. Některé snáze pochopitelné metriky pravděpodobnosti duplikátů zde:http://en.wikipedia.org/wiki/ Universally_unique_identifier

  4. na webu mysql (fóra atd.) se také mluví o jeho použití jako primárního klíče, ale jelikož jsem v práci a nemám čas, musíte si to vyhledat sami :)



  1. Jak vygenerovat trasování FRD v Oracle Apps 11i/R12

  2. Zřetězit více řádků výsledků jednoho sloupce do jednoho, seskupit podle jiného sloupce

  3. Načítání CSV do MySQL Je to chyba? - Výjimka Soubor nenalezen

  4. Dotaz na hodnoty databáze na základě umístění uživatele