> ## 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_luhn 拡張機能

> vsql_luhn コミュニティ拡張機能は、カード番号、IMEI コード、バーコード、および同様の識別子のために、MySQL で Luhn チェックディジットを検証および生成します。

カード番号、IMEI コード、およびカナダの社会保険番号はすべて Luhn チェックディジットを持ち、手入力された識別子が壊れる最も一般的な原因は 1 桁の誤りです。`vsql_luhn` はそのチェックディジットを検証し、生成するため、`CHECK` 制約で不正な番号が行に届く前に拒否できます。

| | |
| - | - |
| **メンテナー** | [Anurag Ojha](https://github.com/intojhanurag) |
| **ソースとドキュメント** | [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn) |
| **ライセンス** | GPL-2.0 |

> [!NOTE]
>
> この拡張機能はサードパーティが作成し、保守しています。VillageSQL はこれをビルド、テスト、または提供しておらず、以下の説明はメンテナー自身のドキュメントに従っています。これに依存する前に、そのドキュメントを読んでください。

## インストール

VillageSQL のビルドツリー (`VillageSQL_BUILD_DIR`) に対してリポジトリからビルドし、`.veb` ファイルをサーバーの `veb_dir` にコピーして、インストールします。

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

## 追加される機能

| 関数 | 戻り値 | 説明 |
| - | - | - |
| `luhn_valid(value)` | int | 文字列がチェックサムを通れば 1、通らなければ 0。空白とハイフンは無視され、数値でないテキストはエラーではなく 0 を返す |
| `luhn_checkdigit(partial)` | text | 部分的な識別子に正しいチェックディジットを付加する |

`luhn_valid` は数値でないテキストに対して失敗せず 0 を返すため、未検証の入力を持つカラムに対する `WHERE` 句にそのまま使えます。

## 関連項目

* [利用可能な拡張機能](https://villagesql.com/docs/ja/extensions/catalog) — 完全なカタログ
* [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn) — ソース、例、および既知の制限事項


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