• ベストアンサー

MySQLでvarchar型のデータの最大値を取得する方法

お世話になります。 どなたかご回答&アドバイスをよろしくお願い致します。 MySQLで、以下のように登録されているデータがあるとします。 ID(varchar) | name(varchar) 0000001 | ああああ 0000002 | いいいい 0000004 | ううううう それで、登録されているIDの最大値+1を取得したいのです。 IDのカラムのデータ型がIntならmaxで取得できると思うのですが、データ型がvarcharなので…。 レコードの数+1というのは、IDが必ずしも1から飛びがなく登録されているとは限らないので、 その方法は危ないのでできません。 上の例だと、「0000005」を取得したいです。 どうぞご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

こんなかんじでしょうか? SELECT LPAD(MAX(`ID`)+1,7,"0") FROM テーブル

myaa_myu
質問者

お礼

LPADというのを初めて知りました。 大変勉強になりました! ご回答ありがとうございました^^

その他の回答 (1)

回答No.2

こんばんは。 「ID」のカラムはVARCHARだけど数値しか入らない・・・。 という事じゃないんですか? 数値だけなら普通にMAX()でいいです。

myaa_myu
質問者

お礼

おっしゃるとおりです。 varcharでも普通にmaxで取得できるのですね…! また勉強させていただきました。 ご回答ありがとうございました^^

関連するQ&A