[前][次][番号順一覧][スレッド一覧]

mysql:9248

From: Shinya Kawaji <Shinya Kawaji <kawaji@xxxxxxxxxx>>
Date: Wed, 21 Apr 2004 10:12:53 +0900
Subject: [mysql 09248] Re: auto_incrementで次番号を確認したい。

かわじ、です。


> "year と id の組み合わせが重複しない一意の番号である。"
> 
> ということですね。この方法ですと、year+idの番号は重複していないのですが、
> id番号は重複してしまいますので、id番号のみの抽出はできなくなってしまいま
> すね。

「id番号のみ」っていうのがよく分かんないですが、たとえば平成16年の 3番目の
データでしたら

select concat(
  lpad(year - 1988, 2, '0'),
  lpad(id, 4, '0')
) as id from example
where year = (16 + 1988) and id = 3;

でいいかと思います。そういう意味でしょうか?


> 現状ではid番号のみでレコードの追加・抽出をしていますので、ソースの修正が
> 必要となってきます。ちょっと大変ですけどチャレンジしてみます。
> 管理用画面だけでなんとかなるかな〜? は甘かったですね。(^^;

ちなみに、現状のままで、SQLだけで何とかしようと思えば、以下のように
出来るかと思います。

-- 試してないので typo があるかも
-- 保守性にこだわらなければ、もう少し短くはなります
select
ifnull(
  max(id),
  concat(
    lpad(year(now()) - 1988, 2, '0'),
    lpad(0, 4, '0')
  )
) + 1 as id
from example
where year > concat(
  lpad(year(now()) - 1988, 2, '0'),
  lpad(0, 4, '0')
);



[前][次][番号順一覧][スレッド一覧]

      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@]