mysql:8894
From: 柴垣 <柴垣 <akiro@xxxxxxxxxx>>
Date: Wed, 03 Mar 2004 09:28:17 +0900
Subject: [mysql 08894] Re: 整数フィールドの次の空きを探す sql は
多くの回答ありがとうございます。 > 一番いいのは「番号を使い切ることに意味は無い」と言い張ること どうやら、最もよい対処法はこの指摘、ということになりそう ですね。 実情をもう少し説明すると、これまでのシステムが、「通し番号」 (と言えるかどうか・・)を恣意的に運用してきたらしく、それで いながら「ここは続き番号にする」、「ここはあとで穴埋めする ための空き番号を作っておく」などの現実的要請も発生する部署の ようなのです。(それがどこまで絶対的な要請なのかは、深入り していないのですが。) しかもそのように、「さかのぼって使うこともあるシーケンシャルな 番号」でありながら、ユニークな識別番号としても利用したい、と いうことで、今回のような質問になってしまいました。 > SQLに於いては、存在しないレコードの値を持ってくる種類の操作は > 至極困難だと思います。 上記のような、SQL の特性についても、今回は学ばされました。 当の SQL の解決法については、とりあえず、シーケンシャル テーブルを利用する方法で、動作はするようになりましたが、まだ あまり効率的ではないため、もう少し検討してみます。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 柴垣 akiro@xxxxxxxxxx _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
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]