• 締切済み

連続データの相違

1.2.3.4.5.6.7.8.と1レコード毎に数字はふってあり 例えば、3の行だけを削除すると1.2.4.5.6.7.8.となる。 目視すると3が無くなっている事が分かるが、その抜けている3を目視以外で分かる方法が、あるのか教えて頂きたいのです、何か良い方法はありますか?

みんなの回答

noname#182251
noname#182251
回答No.2

私の場合、通常(特に連番などは)削除せずに(yes/no型の)フラッグで管理しています。あとで削除データを復活させたり、内容を調べたくなる場合があるからです。このようにしていれば「抜けている」部分を探すのも、再利用するのもごく簡単です。 もちろんテーブルの効率が悪くなるので、削除率が高い場合は検討が必要ですが。

megumi1211
質問者

お礼

ご回答ありがとうございます。 削除率の方が高い為、折角、教えて頂いたのですが(yes/no型の)フラッグで管理するのは、ちょっと無理・・・ですね。 他に何かありましたら、よろしくお願いします。 どうもありがとうございました。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

select nuke from (SELECT id+1 AS nuke FROM TBL AS t1 WHERE not Exists (select 1 from tbl t2 where t1.id+1=t2.id ) ) as t3 where nuke <>( select max(id)+1 from tbl ) でいかがです。

megumi1211
質問者

お礼

ご回答、ありがとうございます。 申し訳ありませんが私が低レベルの為、正直この意味すら分かりません。 これは命令する用語かと思いますが、組立ての内容をよろしければ、もう少し教えていただけないでしょうか? お手数ですが、よろしくお願いします。

関連するQ&A