ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。