- ベストアンサー
MySQLでvarchar型のデータの最大値を取得する方法
お世話になります。 どなたかご回答&アドバイスをよろしくお願い致します。 MySQLで、以下のように登録されているデータがあるとします。 ID(varchar) | name(varchar) 0000001 | ああああ 0000002 | いいいい 0000004 | ううううう それで、登録されているIDの最大値+1を取得したいのです。 IDのカラムのデータ型がIntならmaxで取得できると思うのですが、データ型がvarcharなので…。 レコードの数+1というのは、IDが必ずしも1から飛びがなく登録されているとは限らないので、 その方法は危ないのでできません。 上の例だと、「0000005」を取得したいです。 どうぞご教授お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんなかんじでしょうか? SELECT LPAD(MAX(`ID`)+1,7,"0") FROM テーブル
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
回答No.2
こんばんは。 「ID」のカラムはVARCHARだけど数値しか入らない・・・。 という事じゃないんですか? 数値だけなら普通にMAX()でいいです。
質問者
お礼
おっしゃるとおりです。 varcharでも普通にmaxで取得できるのですね…! また勉強させていただきました。 ご回答ありがとうございました^^
お礼
LPADというのを初めて知りました。 大変勉強になりました! ご回答ありがとうございました^^