• ベストアンサー

オートインクリメントの最新の値

いずれかの方法で、オートインクリメントで記録している数字の最新のものを取得したいです。 (PHP/MySQL) 考えているのは オートインクリメントのフィールドの中から一番大きいものを取得 という方法ですが、WHEREの条件式をどのように書けばいいかがわかりません。 また、他にいい方法があれば教えていただきたいです。

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

  • ベストアンサー
  • mikemike7
  • ベストアンサー率87% (97/111)
回答No.2

最大値を取り出せばいいのなら SELECT MAX(id) AS maxnum FROM table で取れるはずです。 正式な値をとりたいなら SHOW TABLE STATUS WHERE Name = 'table' として、返った結果にAuto_increment値があります。

sixtenth
質問者

お礼

できました!! ありがとうございます。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

mysql の last_insert_id() ではどうでしょう。 http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html 「オートインクリメントのフィールドの中から一番大きいものを取得」 は同時実行トランザクションがあった場合正しくない値を返すのでお勧めしません。

sixtenth
質問者

補足

インサート直後ならそれで取得ができると思いますが、ただデータを引き出すだけでは、返り値は0になってしまいました。(もちろん、データ上の最大値は0ではありません。) 番号の範囲指定のためだけなので、自分で確認する、というのも手ですが、やはり、取得できたらいいなぁと思うので。

関連するQ&A