一意の番号を生成するための 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 サイトの他の関連記事を参照してください。