DBについて質問があります。主キーであるid列があるとしましょう。そして4行。行0を削除すると、最初の行はそのテーブルの行0になる必要があります。テーブルIDをauto_incrementとして設定すると、そのトリックは実行されますか?よろしくお願いします
1 に答える
2
簡潔に言えば、いいえ。
つまり、自動インクリメント列に値が割り当てられると、割り当てられた値が永続的に保持されます。
考えてみてください。100万行と1行のテーブルがあるとします。ID 0の行を削除してから残りの行の番号を付け直したい場合は、残りの100万行ごとに更新する必要があるだけでなく、それらの更新を他のテーブルの参照外部キーにカスケードする必要もあります。データベースのかなりの部分の書き換えを要求しました。これは、同時実行性、ログファイルの使用、およびその他すべてに悪影響を及ぼします(まだ存在する行のID番号に言及しているすべてのレポートは廃止されています)。他の誰かが口座を閉鎖したときに銀行口座番号が変更された場合、あなたはどうなるか考えてみてください。
あなたが尋ねているように見えるようなギャップを埋める必要は通常ありません。
于 2013-02-04T16:21:36.827 に答える