mysql:9239
From: 高橋政利 <高橋政利 <takahashi@xxxxxxxxxx>>
Date: Tue, 20 Apr 2004 18:45:49 +0900
Subject: [mysql 09239] auto_incrementで次番号を確認したい。
auto_increment型について質問がありまして投稿しました。高橋と申します。 社内業務の為にと独学で PHP 4.3.1 + MySQL 4.0.12-nt にて業務用Webを作成し ておりましたが、管理を容易にするために管理用のページを作成しております。 そこで、当MLやホームページを調べてみたのですが解決に至りませんでしたので、 質問させていただきます。 見積書管理用のテーブルにて、管理番号(auto_increment型 主KEY)、顧客名称、 見積品目を管理しています。管理番号は6桁で先頭の2桁は、見積作成時の年度 を、残りの4桁は管理番号(連続した番号)で構成されています。 例)平成15年度 150001 〜 159999 平成16年度 160001 〜 169999 年度が変わるたびに、平成15年度の場合 ALTER TABLE 見積書 AUTO_INCREMENT = 150001 を年度初めに処理していますので問題ないのですが、管理画面上(PHPで作成し ています。)で、上記のような処理をした後に、確認の意味を含めて次に発行さ れる予定の番号(つまり正しく年度情報が設定されたか)を確認したいのですが、 良い方法はないのでしょうか? 調べたところ、LAST_INSERT_ID()が使えるのかな?と思ったのですが、確かに通 常の運用では、最後の番号を取得して1を加える方法や SELECT 管理番号 FROM 見積書 ORDER BY 管理番号 DESC LIMIT 1 として得た数字に1を加えれば良いのですが、平成15年度の管理番号が500件 しかなく最終番号が150500となっている場合に、平成16年度となり ALTER TABLE 見積書 AUTO_INCREMENT = 160001 としたときには希望通りの動作にはなりません。 年に1度の事なので、まぁ良いとすればそれまでなのですが・・・・。
-> 9239 2004-04-20 18:45 [高橋政利 <takahashi@] auto_incrementで次番号を確認したい。 9240 2004-04-20 23:29 ┣[Shinya Kawaji <kawaj] 9245 2004-04-21 09:00 ┃┗[高橋政利 <takahashi@] 9248 2004-04-21 10:12 ┃ ┗[Shinya Kawaji <kawaj] 9250 2004-04-21 11:20 ┃ ┗[ML account <ml@xxxxx] 9246 2004-04-21 09:15 ┣["片寄白王" <katayose] 9251 2004-04-21 17:39 ┃┗[川合孝典 <gcd00051@x] 9252 2004-04-21 18:02 ┃ ┣["山本 瑞己" <mizuki] 9253 2004-04-21 18:53 ┃ ┗[ML account <ml@xxxxx] 9254 2004-04-22 00:19 ┃ ┗["KATAYOSE hakuo" <ka] 9255 2004-04-22 01:42 ┃ ┗[ML account <ml@xxxxx] 9256 2004-04-22 09:02 ┃ ┗["片寄白王" <katayose] 9258 2004-04-22 09:36 ┃ ┗[高橋政利 <takahashi@] 9265 2004-04-22 11:44 ┃ ┗[ML account <ml@xxxxx] 9249 2004-04-21 10:56 ┣[Seiji Tateyama <tate] 9257 2004-04-22 09:07 ┣[高橋政利 <takahashi@] 9264 2004-04-22 11:44 ┃┗[ML account <ml@xxxxx] 9277 2004-04-23 00:29 ┗[Kenji Irie <kenji@xx] 9279 2004-04-23 08:01 ┗[高橋政利 <takahashi@]