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]