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

mysql:13172

From: "片寄白王" <"片寄白王" <katayose@xxxxxxxxxx>>
Date: Thu, 20 Jul 2006 10:15:00 +0900
Subject: [mysql 13172] Re: 商品コードについて

片寄と申します。

info2 wrote:
> 一般的な考え方を教えてください。
> 
> 商品のデータベースにおいて、Auto incrementで商品IDを作るのは基本
> 中の基本のようですが(あらゆる本にそう書いてある)、たとえば商品コ
> ードの生成を10001からはじめた場合、商品アイテムの入れ替えが多い
> と数年で99999に達します。
> すると、その商品マスターを作った日付などから、現在使っていない
> 10001や10002などの古い商品レコードを抽出し破棄するなどして、それ
> らの商品コードを新たな商品にふればいいのでしょうけれども、
> 1. auto incrementでは10001、10002などの数字は得られない。
> 2. 空いているコードは、たぶん飛び飛びである。

基本ではないと思います。むしろ邪道に近いと思います。
弊害が多い。(鈴木さんも述べているように)
私なら、商品IDはauto_incrementではなく別に定義します。

MySQLのマニュアル
http://dev.mysql.com/doc/refman/4.1/ja/example-auto-increment.html


> 1. auto incrementでは10001、10002などの数字は得られない。

特定の値からシーケンスを開始する方法はあります。
テーブル定義するとき、最後に "AUTO_INCREMENT=10000"を付け加えると
10000から開始します。

変更することもできます。
ALTER TABLE t AUTO_INCREMENT=10000;



> データベースを何年も運用する中で、商品コードの空番号はどうやって
> 確保するのでしょうか??

 ・削除する場合、レコードを削除しないで削除マークを付ける。
 ・再利用商品IDは、削除マークレコードから選ぶ
の方法ではいかがですか。


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

     13159 2006-07-12 15:16 [endo <endo@xxxxxxxxx] JDBCドライバーを使用して遠隔からDB操作  
     13161 2006-07-12 18:39 ┗[Tetsuro IKEDA <te.ik]                                       
     13162 2006-07-12 19:37  ┗[endo <endo@xxxxxxxxx]                                     
     13163 2006-07-19 22:09   ┗[info2 <info2@xxxxxxx] 商品コードについて                
     13164 2006-07-19 22:31    ┣[Yoshiyuki SATO <sato]                                 
     13166 2006-07-20 09:06    ┃┗[info2 <info2@xxxxxxx]                               
     13169 2006-07-20 09:45    ┃ ┣["F.Y" <fumi_sby@xxxx]                             
     13170 2006-07-20 09:52    ┃ ┣["F.Y" <fumi_sby@xxxx]                             
     13173 2006-07-20 10:15    ┃ ┃┗[Yasufumi Yamagami <y]                           
     13171 2006-07-20 10:14    ┃ ┣[濱口産婦人科 広津 <]                             
     13174 2006-07-20 10:27    ┃ ┗["MIKAHOSI" <mikahosi]                             
     13165 2006-07-19 22:45    ┣[忠犬 KEN <ken_ken_19]                                 
     13167 2006-07-20 09:32    ┣[tatematsu <tatemax@x]                                 
     13168 2006-07-20 09:35    ┣["F.Y" <fumi_sby@xxxx]                                 
->   13172 2006-07-20 10:15    ┣["片寄白王" <katayose]                                 
     13175 2006-07-20 10:39    ┗[柴田 和久 <yumeya21@]                                 
     13176 2006-07-20 17:22     ┗["TANAKA Masayuki" <t]                               
     13177 2006-07-20 23:12      ┗[info2 <info2@xxxxxxx]