あなたの「必」の書き順を教えてください

お世話になります。
どなたかご回答&アドバイスをよろしくお願い致します。

MySQLで、以下のように登録されているデータがあるとします。

ID(varchar) | name(varchar)
0000001 | ああああ
0000002 | いいいい
0000004 | ううううう

それで、登録されているIDの最大値+1を取得したいのです。
IDのカラムのデータ型がIntならmaxで取得できると思うのですが、データ型がvarcharなので…。
レコードの数+1というのは、IDが必ずしも1から飛びがなく登録されているとは限らないので、
その方法は危ないのでできません。
上の例だと、「0000005」を取得したいです。
どうぞご教授お願い致します。

A 回答 (2件)

こんなかんじでしょうか?



SELECT LPAD(MAX(`ID`)+1,7,"0") FROM テーブル
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/09/22 23:24

こんばんは。



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

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

お礼日時:2006/09/22 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報