[解決済み] MySQLテーブルの主キーを何らかの接頭辞で自動インクリメントする方法
2022-03-04 21:42:55
質問
このようなテーブルがあります。
table
id Varchar(45) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(30) NOT NULL,
id フィールドを次のようにインクリメントしたい。
'LHPL001','LHPL002','LHPL003'
... など。
そのためにはどうしたらよいのでしょうか?何か可能な方法があれば教えてください。
解決方法は?
もし、本当に必要なら、シーケンス用の別のテーブルとトリガーの助けを借りて目的を達成することができます。
テーブル
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)
);
次にトリガー
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');
そして、あなたが持っているのは
| ID|NAME|(名前 ------------------ | LHPL001|Jhon|(ジェイホン | LHPL002|マーク
以下は SQLFiddle デモ
関連
-
[解決済み] エラー 1115 (42000)。不明な文字セットです。'utf8mb4'
-
[解決済み] MySQL エラー: キーの長さがないキー指定
-
[解決済み] MySQL エラー 1241。オペランドには1つのカラムが含まれている必要があります。
-
[解決済み] mysqlのテーブルからユニークキーを削除する方法
-
[解決済み] MySQL でネストされたトランザクションは可能ですか?
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] MySQLの挿入クエリから新しいレコードの主キーIDを取得する?
-
[解決済み】PostgreSQLで主キーの自動インクリメントを設定する方法は?
-
[解決済み] 既存テーブルへのオートインクリメント主キーの挿入
-
[解決済み] 主キーの並び替え/リセット、オートインクリメント
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】#1273 - 不明な照合順序:'utf8mb4_unicode_520_ci'
-
[解決済み】1052:フィールドリストの列「id」が曖昧である
-
[解決済み】MySQLエラー1264:カラムの範囲外の値
-
[解決済み] MySQLで「一意のテーブル/エイリアスでない」場合
-
[解決済み] mysqldです。dir を data に変更できません。サーバーが起動しません
-
[解決済み] MySQLで週単位でグループ化する方法は?
-
[解決済み] エラー:テーブル '<table-name>' に対するユーザー '<userid>'@'<ip-address>' への select コマンドが拒否されました。
-
[解決済み] エラー 1044 (42000)。データベース 'db' へのユーザー ''@'localhost'' のアクセスが拒否されました。
-
[解決済み] #1136 - 列数が 1 行目の値数と一致しません。
-
[解決済み] MySQL Workbenchが「このサーバーバージョンでは、この位置は無効です」というエラーを報告する。