Anda tidak ingin menggunakan kolom penambahan otomatis. Jika Anda ingin mengisi kekosongan, setel ke kolom int dan tangani logika di proc atau sisipan yang disimpan.
EDIT:
Karena ini adalah kolom int, Anda dapat mengurutkannya secara numerik. Cukup lakukan SELECT Ids FROM Table Order By Ids
untuk mendapatkan semua Id dan memeriksa celah dalam kumpulan data yang dikembalikan.
Mungkin ada cara yang lebih halus untuk melakukan ini, tetapi Anda dapat mengulang hasilnya dengan kursor dan membandingkannya dengan INT
variabel yang bertambah sepanjang loop. Saat Anda menemukan celah (tidak cocok) - putuskan loop dan gunakan INT
nilai sebagai INSERT
. Anda Indo.
Saya tidak akan menulis kode untuk Anda, tetapi itu adalah beberapa langkah untuk membawa Anda ke arah yang benar. Ini harus menjadi pemrograman yang sangat mendasar yang harus dapat Anda tangani.
Semoga membantu.
EDIT #2:
Seperti yang telah dicatat orang lain, langkah terbaik Anda adalah meninggalkan celah. Kecuali jika ada beberapa cap di meja sejauh panjangnya dan Id HARUS 1-30 (aneh), biarkan saja. Tidak ada gunanya mengisi celah.
EDIT #3:
Satu hal lagi yang perlu dipertimbangkan:jika Anda benar-benar harus menyimpan 1-30 karena alasan tertentu, jangan hapus baris Anda. Tambahkan kolom untuk menandai setiap baris sebagai aktif atau tidak, lalu perbarui saja baris yang tidak aktif saat Anda perlu, lalu tandai sebagai aktif. Ini SANGAT retas, tetapi persyaratan Anda agak retas, jadi...