MySQL テーブルを操作する場合、特定のキーを組み込みながら自動的にインクリメントする主キーを持つことが望ましい場合があります。接頭語。これは、データの整理と追跡に特に役立ちます。
自動インクリメント機能とプレフィックスの両方を備えた主キーを作成するには、次の手順に従います。
1.シーケンス テーブルの作成
シーケンス ジェネレーターとして機能する別のテーブルを作成します。
CREATE TABLE my_sequence (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
2.メイン テーブルの作成
プレフィックス付きの主キーが必要なメイン テーブルを作成します:
CREATE TABLE my_table ( id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30) );
3.トリガーの作成
トリガーを使用して、メイン テーブルへの挿入時に接頭辞付きの主キー値を自動的に生成します:
DELIMITER $$ CREATE TRIGGER tg_my_table_insert BEFORE INSERT ON my_table FOR EACH ROW BEGIN INSERT INTO my_sequence VALUES (NULL); SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0')); END$$ DELIMITER ;
4.行の挿入
これで、メイン テーブルに行を挿入し、プレフィックスが付いている自動インクリメントされた主キーを観察できるようになります:
INSERT INTO my_table (name) VALUES ('Jhon'), ('Mark');
結果の例:
| LHPL001 |ジョン |
| LHPL002 | Mark |
注: このアプローチには、別個のシーケンス テーブルとトリガーの使用が含まれますが、高スループットのシナリオでは最も効率的なソリューションではない可能性があります。ただし、これは MySQL でプレフィックス付きの主キーの自動インクリメントを実現する簡単な方法です。
以上がMySQL でプレフィックス付きの自動インクリメント主キーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。