mysql:9251
From: 川合孝典 <川合孝典 <gcd00051@xxxxxxxxxx>>
Date: Wed, 21 Apr 2004 17:39:54 +0900 (JST)
Subject: [mysql 09251] Re: auto_incrementで次番号を確認したい。
川合孝典です。 ----- Original Message ----- >Date: Wed, 21 Apr 2004 09:15:02 +0900 >From: "片寄白王" <katayose@xxxxxxxxxx> >Subject: [mysql 09246] Re: auto_incrementで次番号を確認したい。 >To: ml@xxxxxxxxxx > > >片寄です。 > >高橋政利 wrote: >> 調べたところ、LAST_INSERT_ID()が使えるのかな?と思ったのですが、確かに通 >> 常の運用では、最後の番号を取得して1を加える方法や >> SELECT 管理番号 FROM 見積書 ORDER BY 管理番号 DESC LIMIT 1 >> として得た数字に1を加えれば良いのですが、平成15年度の管理番号が500件 >> しかなく最終番号が150500となっている場合に、平成16年度となり >> ALTER TABLE 見積書 AUTO_INCREMENT = 160001 >> としたときには希望通りの動作にはなりません。 > >ALTER TABLE 見積書 auto_increment=160001; > >を直前に実行しても > >SELECT LAST_INSERT_ID(); > >は、最後に追加されたauto_incrementフィールドの値を返すだけですので >目的には沿わないと思われます。 切り替えた後の値が問題なのだとすれば、切り替えるさいに ALTER TABLE 見積書 auto_increment=160000; とした後(160001 - 1というのがミソ)、 (1)ダミーで見積書を1件発行して(INSERT) (2)そのレコードを削除 というのでは、いかがでしょう? てっきり切り替える前のほうの問題かと思っていたんですが... いつ切り替えるかは結局、切り替えられるまで誰にも確実なことは いえそうもないので。(年度末になったら「切り替えられるかもよ」といった メッセージをつけるとかぐらいしか思いつきませんでした)
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@]