ホームページ > データベース > mysql チュートリアル > MySQL 列を連結して一意の英数字を生成するにはどうすればよいですか?

MySQL 列を連結して一意の英数字を生成するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-19 00:01:11
オリジナル
310 人が閲覧しました

How to Generate Unique Alphanumeric Numbers by Concatenating MySQL Columns?

一意の番号を生成するための MySQL 列の連結

MySQL テーブルを操作する場合、複数のデータを結合した一意の番号を生成する必要がある場合があります。列。テーブルに SUBJECT と YEAR という名前の 2 つの列が含まれるシナリオの場合、目的は、両方のフィールドの値を組み込んだ英数字の一意の番号を作成することです。

これを実現する 1 つのアプローチは、例に示すように、CONCAT 関数を使用することです。次のコード内:

SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
ログイン後にコピー

このクエリは、SUBJECT 列と YEAR 列の値をスペースで区切って連結します。ただし、一意の番号を作成するには、より複雑な方法が必要です。

別の解決策には、LPAD と変数を組み合わせて一意のサフィックスを生成することが含まれます。更新されたクエリは次のとおりです。

SET @rn := 0;

SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
ログイン後にコピー

このクエリは、最初に @rn という名前の変数を 0 に初期化します。次に、区切り文字としてハイフンを追加して、SUBJECT と YEAR の値を連結します。最後に、LPAD 関数を使用して、@rn の増分値の左をゼロで埋めて、一貫した 3 文字の長さを実現します。

このアプローチを実装することで、行ごとに一意の英数字を生成できます。 SUBJECT 列と YEAR 列の両方のデータを結合した MySQL テーブル。

以上がMySQL 列を連結して一意の英数字を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート