Se fosse uma propaganda de banco ou cartão de crédito, eu diria que: há momentos em que voce precisa ser exclusivo 🙂

Haverá momentos que a chave primária pode não ser suficiente para garantir singularidade e/ou exclusividade para uma linha da tabela, ou, até, para determinado recurso.

Programadores PHP já estão bem habituados com UUID. Muitos utilizam UUID para controle de sessão.

Pois bem, é possível gerar UUID’s, diretamente, pelo banco de dados, independente da linguagem de programação pretendida. Isto é garantido através da função UUID().

Em termos gerais, a função UUID() gera uma sequência alfanumérica de 32 caracteres, mas, como esta sequência de caracteres é dividida em 4 blocos, há também 4 divisores, representados pelo caracter “-“. Portanto para armazenar uma UUID, precisamos de 36 bytes/caracteres.

Pretensiosamente, um dado servidor não emitirá dois resultados idênticos para UUID, por longo período de tempo.

Exemplo:

mysql> select UUID();
+————————————–+
| UUID() |
+————————————–+
| faa91148-341c-11e2-bb8e-1293aba126db |
+————————————–+
1 row in set (0.00 sec)

ou

mysql> INSERT INTO tabela SET id=UUID(), nome = ‘xpto’…..