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

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

DDD
リリース: 2024-12-17 16:32:15
オリジナル
964 人が閲覧しました

How to Create an Auto-Incrementing Primary Key with a Prefix in MySQL?

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

' などの指定されたプレフィックスを持つ自動インクリメント主キーが必要です「LHPL001」、「LHPL002」など?これを MySQL で実現するための簡潔なガイドを次に示します。

1 つのアプローチには、別のシーケンス テーブルとトリガーを利用して目的のプレフィックスを生成することが含まれます。以下の手順:

  1. シーケンス テーブルを作成する:

    CREATE TABLE table1_seq
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    );
    ログイン後にコピー
  2. ターゲット テーブルを作成するプレーンな VARCHAR プライマリを使用するキー:

    CREATE TABLE table1
    (
      id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0',
      name VARCHAR(30)
    );
    ログイン後にコピー
  3. トリガーの作成:

    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 に行を挿入できるようになり、トリガーによってプレフィックス付きのプライマリが自動的に生成されます。 key:

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

table1 テーブルの結果は次のようになります:

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
ログイン後にコピー

このアプローチの対話型デモンストレーションについては、提供されている SQLFiddle デモを参照してください。

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

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