###前提・実現したいこと
MySQLにて、データベースに入っているレコードに対し、
2文字目をアルファベット(aから昇順)に置換する
SQL文を作成しています。
先に質問させていただいたおかげで、
上記動作はできるようになったのですが、さらに、
同じID2に対応するID1には同じアルファベットを付与する、
という動作を実現したいです。
※Z以降は別処理にてエラー対応予定のため今回は考慮不要です。
※処理に対して新規テーブルの作成が必須であれば作成致します。
###実現したい動作イメージ
・SQL実行前
ID1 / ID2
A0001 / S001
A0002 / S001
A0003 / S002
A0004 / S002
A0005 / S003
・SQL実行後(現状)
ID1 / ID2
Aa001 / S001
Ab002 / S001
Ac003 / S002
Ad004 / S002
Ae005 / S003
・SQL実行後(理想)
ID1 / ID2
Aa001 / S001
Aa002 / S001
Ab003 / S002
Ab004 / S002
Ac005 / S003
###現状
SET @cnt=0; UPDATE table SET ID1=concat(mid(ID1,1,1), mid('abcdefghijklmnopqrstuvwxyz',(@cnt:=@cnt+1),1), mid(ID1,3,3));
ここまで複雑な動作はMySQLでは難しいでしょうか。。
宜しくお願い致します。
回答4件
あなたの回答
tips
プレビュー