> ## 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.

# MySQL 的 vsql_nanoid 扩展

> 社区扩展 vsql_nanoid 在 MySQL 中生成简短的 URL 安全随机标识符，默认 21 个字符，长度和字母表可配置。

Nano ID 只有 21 个字符，而 UUID 有 36 个，它的字符取自一个无需转义
即可安全用于 URL 的字母表。`vsql_nanoid` 在 SQL 中生成它们，因此
面向公众的标识符可以在插入时生成，而不是在您的应用程序中生成。

| | |
| - | - |
| **维护者** | [Anurag Ojha](https://github.com/intojhanurag) |
| **源代码和文档** | [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid) |
| **许可证** | GPL-2.0 |

> [!NOTE]
>
> 此扩展由第三方编写和维护。VillageSQL 不构建、测试或发布它，
> 下面的描述遵循维护者自己的文档。在依赖它之前，请先阅读该文档。

## 安装

针对 VillageSQL 构建树（`VillageSQL_BUILD_DIR`）从存储库构建它，将 `.veb` 文件复制到服务器的 `veb_dir` 中，然后安装它。它需要 OpenSSL
作为随机源。

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

## 新增内容

| 函数 | 返回 | 作用 |
| - | - | - |
| `nanoid()` | 文本 | 使用默认字母表 `A-Za-z0-9_-` 生成的 21 字符标识符 |
| `nanoid_with(size)` | 文本 | 同上，长度由您指定 |
| `nanoid_with(size, alphabet)` | 文本 | 同上，字母表由您指定 |

## 另请参阅

* [MySQL 中的 UUID](https://villagesql.com/docs/en/guides/uuids.md) — 生成不透明标识符的另一种方式
* [主键策略](https://villagesql.com/docs/en/guides/primary-key-strategies.md) — 随机键在 InnoDB 索引上的代价
* [可用扩展](https://villagesql.com/docs/zh/extensions/catalog) — 完整目录
* [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid) — 源代码、示例和已知限制


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