[A-00068]MySQLでテーブルから取得した値をパラメータに格納する

mysqlのトランザクション処理内でパラメータを使用して処理を行う際の方法を記載しておく。

ユースケースとして、対象テーブルの最大値を取得してその値をカウントアップした値を次のレコードに使用する。

下記は基本的な書式である。

SELECT @param:=value FROM table;
START TRANSACTION;
SELECT @maxid:=LPAD(MAX(product_id)+1, 10, '0') FROM dwh1.products;
INSERT INTO dwh1.products(product_id, product_name, product_group,product_explain, price) VALUES (@maxid,'ポテトチップス コンソメ','001','コンソメ味のポテトチップス', 120);    
COMMIT;
Updated Rows	1
Start time	Mon Jun 26 06:30:39 JST 2023
Finish time	Mon Jun 26 06:30:39 JST 2023

下記の通り、1番目のレコードのproduct_idを+1して次のレコードに設定する。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*