Nilai maksimum untuk sebuah bigint adalah 9.223.372.036.854.775.807 . Jika Anda mencapai 8 digit dalam sehari, Anda masih perlu 10 hari untuk mencapai maksimum. Itu seperti 25 juta tahun.
Dengan asumsi Anda masih ingin mengatur ulang kolom, pertanyaan pertama yang saya miliki adalah:apakah urutan baris itu penting? Artinya, apakah Anda mengandalkan fakta bahwa baris 1000 muncul sebelum 1100 untuk, katakanlah, urutan kronologis atau absolut? Jika tidak, mudah:hapus kolom dan tambahkan lagi. Hei presto, nilai-nilai baru.
Jika Anda perlu mempertahankan pesanan, Anda harus melakukannya sedikit lebih hati-hati:
- Kunci meja;
- Ubah jenisnya agar tidak lagi naik otomatis;
- Buat kolom baru. Sebaiknya Anda membuatnya tidak memiliki indeks untuk saat ini karena memperbarui indeks akan memperlambat penyisipan;
- Isi nilai di detik dengan semacam loop yang menambah penghitung (seperti trik rownum SQL Server) memesan sisipan agar sesuai dengan urutan aslinya;
- Ganti kolom lama dengan yang baru;
- Setel ulang peningkatan otomatis dan status kunci utama.