Cara menggunakan reset auto increment mysql

Hai apa kabar teman-teman semuanya, semoga tetap dalam keadaan baik, kembali lagi dengan saya rizal, pada tutorial dumet school, teman-teman pasti sudah lumrah dengan yang namanya mysql, yups mungkin bagi teman-teman yang sudah sering membuat program atau mengutak-atik script php sering bertemu dengan database mysql ini, dan seperti yang kita tau didalam database mysql ada suatu perintah untuk membuat sebuah nilai terinput secara otomatis dan berurut, mulai dari 1,2,3 dan seterusnya, yaps benar itu adalah fungsi auto increment, dan untuk tutorial kali ini saya akan membahas tentang cara mereset nilai auto increment pada database mysql

Auto increment adalah suatu ketentuan pada database mysql untuk membuat inputan otomatis secara berurut mulai dari 1,2,3 dan seterusnya, namun teman-teman pasti sering menemukan kendala pada ketentuan mysql ini, yaitu misalkan kita punya sebuah table dengan record seperti berikut ini :

Cara menggunakan reset auto increment mysql
Cara menggunakan reset auto increment mysql

Ketika kita menghapus record dengan id no 3 maka ketika kita insert kembali datanya akan terinsert mulai dari 4 meskipun id 3 telah dihapus, itulah yang merupakan sifat dari auto increment nah sekarang gimana caranya untuk kita memulai lai dari awal atau mereset nilai dari auto incrementnya?

ada 2 cara yang bisa kita gunakan dengan menggunakan perinta sql yaitu:

  1. perintah ALTER TABLE

Untuk script alter table adalah seperti berikut ini :

1

ALTER TABLE nama_table AUTO_INCREMENT = 1

Dengan menuliskan script sql diatas berarti kita telah mereset nilai auto increment kita menjadi dimulai dari satu kembali, dengan syarat kita hapus dulu semua recordnya.

2.  Perintah TRUNCATE

Perintah truncate ini bersifat menghapus semua datanya dan mereset kembali auto increment menjadi dari urutan 1 kembali, contoh penulisan script sql TRUNCATE adalah seperti berikut ini :

1

TRUNCATE TABLE nama_table

Gimana teman-teman cukup mudah bukan, saya rasa untuk tutorial kali ini tentang cara mereset nilai auto increment pada database mysql cukup sampai disini dulu, semoga tutorial yang singkat ini dapat bermanfaat untuk teman-teman semuanya, sampai bertemu lagi pada tutorial berikutnya,

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 :

Cara menggunakan reset auto increment mysql

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

Cara menggunakan 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.

Cara menggunakan 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.