mysql:8899
From: Seiji Uramoto <Seiji Uramoto <uramoto@xxxxxxxxxx>>
Date: Wed, 03 Mar 2004 12:54:08 +0900
Subject: [mysql 08899] Re: 整数フィールドの次の空きを探す sql は
うらもとといいます。 #全スレッドを読みきったわけではないのですが… 柴垣 wrote: >>一番いいのは「番号を使い切ることに意味は無い」と言い張ること > > どうやら、最もよい対処法はこの指摘、ということになりそう > ですね。 > 実情をもう少し説明すると、これまでのシステムが、「通し番号」 > (と言えるかどうか・・)を恣意的に運用してきたらしく、それで > いながら「ここは続き番号にする」、「ここはあとで穴埋めする > ための空き番号を作っておく」などの現実的要請も発生する部署の > ようなのです。(それがどこまで絶対的な要請なのかは、深入り > していないのですが。) データベースの設計の基本の一つに 「一つのカラムに複数の意味を持たせない」 ということがあります。 > しかもそのように、「さかのぼって使うこともあるシーケンシャルな > 番号」でありながら、ユニークな識別番号としても利用したい、と > いうことで、今回のような質問になってしまいました。 ということから、上のような設計に問題があったのでしょう。 つまり、「候補キーとはなりうるが、主キーとはなりえない」 という項目なのでしょうね。
8880 2004-03-02 15:16 [柴垣 顕郎 <akiro@xx] 整数フィールドの次の空きを探す sql は 8882 2004-03-02 15:59 ┣[KAWAJI Shinya <kawaj] 8883 2004-03-02 16:04 ┃┗[KAWAJI Shinya <kawaj] 8888 2004-03-02 20:50 ┃ ┗[柴垣 <akiro@xxxxxxxx] 8889 2004-03-02 23:40 ┃ ┗[ML account <ml@xxxxx] 8890 2004-03-03 08:47 ┃ ┗[KAWAJI Shinya <kawaj] 8894 2004-03-03 09:28 ┃ ┣[柴垣 <akiro@xxxxxxxx] -> 8899 2004-03-03 12:54 ┃ ┃┗[Seiji Uramoto <uramo] 8895 2004-03-03 10:11 ┃ ┣[ML account <ml@xxxxx] 8898 2004-03-03 12:35 ┃ ┗[班石悦夫 <madara@xxx] 8900 2004-03-03 14:44 ┃ ┗[ML account <ml@xxxxx] 8885 2004-03-02 16:19 ┣[ML account <ml@xxxxx] 8886 2004-03-02 18:48 ┗[班石悦夫 <madara@xxx]