[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して次のレコードに設定する。

コメントを残す