Beranda > Database, MySQL > Cara Benar Mereset “Auto Increment” MySQL

Cara Benar Mereset “Auto Increment” MySQL


Saya lihat beberapa blog menulis bahwa cara mereset nilai AUTO INCREMENT pada tabel MySQL adalah dengan cara RECREATE tabel (export tabel, DROP kemudian create ulang!).

Cara ini jelas SALAH dan berbahaya!

Cara yang benar adalah:

ALTER TABLE nama_table AUTO_INCREMENT=0

Jika anda ingin mulai dari nilai 1234 maka:

ALTER TABLE nama_table AUTO_INCREMENT=1234

So? Hati-hati baca blog! Lihat background penulisnya siapa.

  1. Beng beng
    Maret 25, 2010 pukul 4:21 pm

    Wah .. mantap! Informasi ini sgt berguna. Biasanya saya recreate ulang tabel. Baru tahu cara reset auto increment yang benar. Thanks!

  2. April 6, 2010 pukul 3:59 am

    nice !! hohohoho

  3. April 29, 2010 pukul 5:58 pm

    maaf gan sya coba saperti yang di atas tapi autoincrement yang di table tetep blum berubah,jadi harus gimana? apa sya ada yang salah? atau ada yang kurang? terimakasih

    • April 29, 2010 pukul 6:22 pm

      ALTER TABLE nama_table AUTO_INCREMENT=0

      Ini hanya mengubah nilai INCREMENT pada baris baru. Contoh: misalnya ada memiliki 50 baris data kemudian anda hapus semua baris, maka jika anda INSERT data baru maka nomor baris yang muncul adalah 51 bukan 1. Nah, perintah di atas tujuannya me-reset nilai INCREMENT sehingga INSERT baris baru nilainya 1.

      Sedangkan untuk mengubah nilai AUTO INC pada tabel yang sudah ada, gunakan perintah UPDATE.

  4. tri laniri
    Juni 25, 2010 pukul 10:51 am

    koq aq coba ga bisa ya,kan aq pnya tabel berita dgn primary key id_berita dgn autoincrement.
    Semua data dh aq hpus (ad 5 data) pas insert data baru,id_beritanya terus lanjut jdi 6.
    Ap y yg salah?

  5. Juni 26, 2010 pukul 6:26 pm

    Setelah menghapus data mk jalankan peritah ini:
    ALTER TABLE berita AUTO_INCREMENT=0

    Kemudian barulah anda INSERT data baru.

  6. Acoy
    Juni 30, 2010 pukul 3:15 am

    thanks friend…

  7. broder T
    Agustus 12, 2010 pukul 12:28 pm

    bagaimana kl datanya udah ada trus ane gak mau datanya dihapus?
    ane punya satu tabel anggota, primary_key nya no_induk,
    trus ane mau ganti primary_key nya dengan field baru id_anggota, gimana caranya agar datanya gak diganggu???

  8. September 2, 2010 pukul 2:21 pm

    Jika data sudah ada maka ada 2 cara:
    1. copy data tsb ke table baru kemudian replace table lama dengan table baru tsb
    2. jalankan perintah UPDATE biasa, misal kolom AUTO INC nya adalah NOMOR_INDUK maka:

    UPDATE table SET NOMOR_INDUK = nomor_serial_anda

    Untuk generate nomor_serial bisa pakai TSQL atau PHP.

  9. Achoy
    Oktober 17, 2010 pukul 4:33 am

    bisa gak auto increment dimulai dengan cara abjad dan angka
    misalnya begini
    angka pertama dimulai a01
    secara automatis jika ditambah record a02, a03 dst
    mohon sharenya bg master mysql

  10. Oktober 29, 2010 pukul 2:31 am

    Type data auto increment adalah int atau bigint sehingga tidak bisa dimasukkan huruf. Auto inc ini sebenarnya gunanya sebagai penanda saja, khususnya pada tabel yg tidak memiliki field yang unik.

    Jadi, misalnya anda ingin membuat Kode Anggota mk jangan gunakan auto inc tetapi gunakan field biasa yang diberi index unik, artinya di program anda yang control increment dari nomor anggota, contoh code-nya sbb:

    1. SELECT kode_anggota FROM anggota ORDER BY kode_anggota DESC LIMIT 1
    2. Kode Baru = A + (hasil kode anggota pada #1) + 1

    Kira2 spt itu algoritma-nya, HTH.

  11. asrul
    November 14, 2010 pukul 5:07 am

    thankS ilmunyaaa…

  12. why
    Januari 13, 2011 pukul 1:05 pm

    wah.., thx mas..
    tp klo mau ngubah AUTO_INCREMENT=0 untu banyak TABLE gimana mas, biar gk ribet ngetikx, jd bsa sekaligus..?

  13. Januari 16, 2011 pukul 5:58 am

    @why: kayaknya harus manual. jika terpaksa dengan script php juga bisa. sebenarnya bisa juga pk script mysql tapi saya jarang pakai.

  14. aditiya
    Maret 8, 2011 pukul 1:16 am

    mas mau nanya nih.. kalau misalkan diimplementasikan di program saya bisa gak…
    saya bikinin program akta kelahiran, disitu ada no.pendaftaran alias no urut.. yang tiap tgl 1januari valuenya reset=0.. kalau data akta kelahiran kan g mungkin dihapus.. solusinya gimana nih?

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: