ホームページ > データベース > mysql チュートリアル > MySQL でプレフィックス付きの自動インクリメント主キーを作成するにはどうすればよいですか?

MySQL でプレフィックス付きの自動インクリメント主キーを作成するにはどうすればよいですか?

DDD
リリース: 2024-12-20 01:28:10
オリジナル
851 人が閲覧しました

How to Create Auto-Incrementing Primary Keys with Prefixes in MySQL?

MySQL でのプレフィックス付きの自動インクリメント主キーの作成

データベースを操作する場合、多くの場合、単には一意の識別子を提供しますが、整理を容易にするために意味のあるプレフィックスも組み込まれています。 「id」という名前の主キー列を持つテーブルがあり、「LHPL001」、「LHPL002」などのプレフィックスを付けてインクリメントしたい場合は、シーケンスとトリガー用に別のテーブルを使用する考えられる解決策を次に示します。 🎜>

テーブルのセットアップ

というテーブルを作成しますシーケンス番号を格納する table1_seq と、実際のデータを格納する table1 というテーブル (目的の主キー フィールドを含む):

CREATE TABLE table1_seq (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE table1 (
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
  name VARCHAR(30)
);
ログイン後にコピー

接頭辞付き自動インクリメントのトリガー

接頭辞付きの主キーを生成するには、BEFORE INSERT トリガーを作成します。 table1:

DELIMITER $$
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
  SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;
ログイン後にコピー

データの挿入

トリガーが設定されたら、単純に table1:

INSERT INTO table1 (name) 
VALUES ('Jhon'), ('Mark');
ログイン後にコピー
結果

table1 のデータは次のようになります。プレフィックス付き主キー:

このアプローチにより、意味のあるプレフィックスを使用して目的の自動インクリメント主キー動作を実現でき、データの編成と取得が簡素化されます。
|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
ログイン後にコピー

以上がMySQL でプレフィックス付きの自動インクリメント主キーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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