Mereset nilai auto increment dalam mysql

mereset nilai auto incremen dalam mysql

Jika anda merancang sebuah tabel dalam database mysql dengan tipe angka, kemudian dijadikan index primary key dengan tambahan fitur AUTO_INCREMENT maka setiap ada record baru kolom/field tersebut akan otomatis diberi nilai secara urut. Nilai urut tersebut akan terus bertambah walaupun semua record telah dihapus. Bagaimana jika kita ingin mengembalikan nilai auto incremen tersebut dari awal lagi?

Cara mereset AUTO_INCREMENT mysql

Silahkan lihat ilustrasi struktur serta data yang ada pada gambar berikut.

Misal anda punya tabel dengan struktur seperti berikut :

reset auto increment

Filed ID diberi fitur extra AUTO_INCREMENT sehingga setiap data yang ditambahkan akan otomatis urut seperti berikut :

reset auto increment mysql

Kemudian record tersebut anda hapus, dan setelah itu anda tambahkan lagi sehingga nilai ID tidak dari 1 lagi melainkan mulai dari urut 3.

reset auto increment mysql

Secara teknis memang tidak ada masalah, cuman jika nilai tersebut dijadikan sebagai sistem penomoran maka menurut saya kurang baik, karena nilai awalnya bukan dari 1. Oleh karena itu perlu kita reset. Untuk mereset kembali auto increment ini, kita bisa lakukan dalam beberapa cara :

Menggunakan query TRUNCATE

TRUNCATE TABLE nama_tabel

Dengan perintah truncate maka semua record akan terhapus dan field yang memiliki fitur AUTO_INCREMENT akan direset kembali.

Menggunakan perintah ALTER

Jika menggunakan alter maka dianjurkan semua record harus dihapus dulu, kemudian jalankan :

ALTER TABLE nama_tabel AUTO_INCREMENT = 1

Menghapus dan menambah kembali field dengan fitur AUTO_INCREMENT

Cara ini digunakan jika anda ingin mempertahankan data yang masih ada sehingga field auto incremen saja yang kembali ke nilai 1. Caranya : Hapus dulu field auto incerement dengan perintah berikut :

ALTER TABLE nama_tabel DROP ID 

Dimana ID adalah field auto incremen. Setelah dihapus maka add kembali field ID dengan query :

ALTER TABLE nama_tabel ADD ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST 

Dengan perintah diatas maka ID akan disisipkan kembali pada posisi pertama dalam tabel

Menghapus dan membuat lagi tabel yang sama

Ini cara terakhir, yaitu tabel yang ada anda hapus dulu dengan perintah drop kemudian dibuat lagi dengan perintah create, seperti berikut :

DROP TABLE IF EXISTS nama_tabel;
CREATE TABLE nama_tabel (
  ID int(11) NOT NULL AUTO_INCREMENT,
  NAMA varchar(20) NOT NULL,
  PRIMARY KEY (ID)
);

Silahkan pilih cara yang paling aman untuk data anda. Saya sarankan juga data sebelumnya anda backup.

Selamat mencoba semoga bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Kata yang harus dihindari dalam database mysql
    Anda pernah dengar kata Reserved Words, kata tersebut adalah sebutan untuk kumpulan perintah dasar yang digunakan oleh bahasa pemrograman maupun sistem database. Kata yang termasuk dalam kategori tersebut tidak boleh kita gunakan dalam penamaan variabel, nama field, nama tabel data, maupun nama database. Kata apa saja yang tidak bisa kita gunakan dalam database mysql? Silahkan simak berikut.
  • Mengubah tampilan format tanggal dalam query mysql
    Format tanggal yang tersimpan dalam mysql adalah yyyy-mm-dd, jika anda ingin menampilkannya dengan format lain misal dalam format dd-mm-yyyy maka kita bisa gunakan query untuk mengubah tampilan format tanggal berikut.
  • Membatasi jumlah tampil data mysql
    Jika anda membuat sebuah laporan yang diambil dari database mysql, biasanya akan ditampilkan seluruh data yang sesuai kriteria. Mysql sudah menyediakan perintah untuk membatasi jumlah data yang akan ditampilkan di layar. Berikut ini cara membatasi jumlah tampil data mysql.
  • Menampilkan data acak dari mysql
    Pada dasarnya setiap kita menampilkan data melalui query, mysql akan menampilkan data secara urutan memasukkan datanya, yang terakhir akan berada dipaling bawah. Bagaimana jika kita ingin menampilkan datanya secara acak.
  • Cara import export mysql database
    Cara import export mysql database - Anda mungkin pernah bermasalah dengan memindah website, blog atau aplikasi yang dibuat dengan php mysql ke komputer lain atau internet? Trus web atau aplikasi tersebut memiliki database mysql yang juga harus dipindah? Bagaimana cara memindahnya? Kali ini saya akan berbagi cara impor export mysql database tersebut.

Kiriman terbaru