> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Extensão vsql_nanoid para MySQL

> A extensão da comunidade vsql_nanoid gera identificadores aleatórios curtos e seguros para URL no MySQL, com 21 caracteres por padrão e comprimento e alfabeto configuráveis.

Um Nano ID tem 21 caracteres onde um UUID tem 36, tirados de um alfabeto que é
seguro em uma URL sem escape. O `vsql_nanoid` os gera em SQL, de modo que um
identificador voltado ao público pode ser produzido no momento da inserção, em
vez de na sua aplicação.

| | |
| - | - |
| **Mantenedor** | [Anurag Ojha](https://github.com/intojhanurag) |
| **Código-fonte e documentação** | [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid) |
| **Licença** | GPL-2.0 |

> [!NOTE]
>
> Um terceiro escreve e mantém esta extensão. O VillageSQL não a compila, não a
> testa e não a distribui, e a descrição abaixo segue a documentação do próprio
> mantenedor. Leia essa documentação antes de depender dela.

## Instalar

Compile-o a partir do repositório com uma árvore de compilação do VillageSQL (`VillageSQL_BUILD_DIR`), copie o arquivo `.veb` para o `veb_dir` do servidor e, em seguida, instale-o. Ele precisa do OpenSSL
como fonte de aleatoriedade.

```sql theme={null}
INSTALL EXTENSION vsql_nanoid;
```

## O que ela adiciona

| Função | Retorna | O que faz |
| - | - | - |
| `nanoid()` | texto | Um identificador de 21 caracteres do alfabeto padrão, `A-Za-z0-9_-` |
| `nanoid_with(size)` | texto | O mesmo, com um comprimento que você escolhe |
| `nanoid_with(size, alphabet)` | texto | O mesmo, com um alfabeto que você escolhe |

## Veja também

* [UUIDs no MySQL](https://villagesql.com/docs/en/guides/uuids.md) — a outra forma de gerar um identificador opaco
* [Estratégias de chave primária](https://villagesql.com/docs/en/guides/primary-key-strategies.md) — o que uma chave aleatória custa em um índice InnoDB
* [Extensões disponíveis](https://villagesql.com/docs/pt-BR/extensions/catalog) — o catálogo completo
* [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid) — código-fonte, exemplos e as limitações conhecidas


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.