Apa itu auto increment pada mysql?

Bagaimana saya menambahkan auto_increment ke kolom tabel MySQL yang sudah ada?

Saya pikir Anda ingin MODIFY kolom seperti dijelaskan untuk perintah ALTER TABLE . Mungkin seperti ini:

ALTER TABLE users MODIFY id INTEGER NOT NULL AUTO_INCREMENT;

Sebelum berjalan di atas, pastikan kolom id memiliki indeks Utama.

Metode untuk menambahkan AUTO_INCREMENT ke tabel dengan data sambil menghindari kesalahan “Duplikasi entri”:

  1. Buat salinan tabel dengan data menggunakan INSERT SELECT:

    CREATE TABLE backupTable LIKE originalTable; 
    INSERT backupTable SELECT * FROM originalTable;
    
  2. Hapus data dari originalTable (untuk menghapus entri duplikat):

    TRUNCATE TABLE originalTable;
    
  3. Untuk menambahkan AUTO_INCREMENT dan PRIMARY KEY

    ALTER TABLE originalTable ADD id INT PRIMARY KEY AUTO_INCREMENT;
    
  4. Salin data kembali ke tabel asli (jangan tidak termasuk kolom yang baru dibuat (id), karena akan diisi secara otomatis)

    INSERT originalTable (col1, col2, col3) 
    SELECT col1, col2,col3
    FROM backupTable;
    
  5. Hapus backupTable:

    DROP TABLE backupTable;
    

Saya harap ini bermanfaat!

Lebih lanjut tentang duplikasi tabel menggunakan CREATE LIKE:

Menduplikasi tabel, indeks, dan data MySQL

Cukup tambahkan kolom Kendala auto_increment atau MODIFY COLUMN: - 

 ALTER TABLE `emp` MODIFY COLUMN `id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;

Atau tambahkan kolom terlebih dahulu kemudian ubah kolom sebagai -

1. Alter TABLE `emp` ADD COLUMN `id`;

2. ALTER TABLE `emp` CHANGE COLUMN `id` `Emp_id` INT NOT NULL UNIQUE AUTO_INCREMENT FIRST;

Ini berfungsi untuk saya jika Anda ingin mengubah atribut AUTO_INCREMENT untuk tabel yang tidak kosong:

1.) Mengekspor seluruh tabel sebagai file .sql
2.) Menghapus tabel setelah ekspor
2.) Apakah perlu mengubah perintah CREATE_TABLE
3.) Menjalankan perintah CREATE_TABLE dan INSERT_INTO dari file .sql
... et viola

Alter table table_name modify table_name.column_name data_type AUTO_INCREMENT;

misalnya: 

Alter table avion modify avion.av int AUTO_INCREMENT;

Saya berhasil melakukan ini dengan kode berikut:

ALTER TABLE `table_name`
CHANGE COLUMN `colum_name` `colum_name` INT(11) NOT NULL AUTO_INCREMENT FIRST;

Ini adalah satu-satunya cara saya dapat membuat kenaikan kolom otomatis. 

INT (11) menunjukkan bahwa panjang int maksimum adalah 11, Anda dapat melewatinya jika mau. 

Membuat Auto Increment Pada Tabel Database yang Sudah Terbuat

Membuat sebuah aplikasi dengan menggunakan database sebagai penyimpanan datanya kamu harus paham bagaimana membuat struktur tabel untuk aplikasinya. Struktur tersebut dapat dianalisis mulai dari jumlah kolom yang digunakan, struktur tabel nya, panjang data nya dan juga tipe data yang digunakan pada kolom atau field tabel tersebut.

Pernah kejadian membuat sebuah tabel database dengan kolom berinisial “ID” dan data tersebut berisi nilai angkat yang seharusnya dapat berulang dan berisi berurutan otomatis ketika data baru di masukkan. Namun suatu ketika kamu lupa untuk membuat jenis tabel tersebut menjadi auto increment atau mengurutkan isi data otomatis.

Kita coba edit tapi tidak bisa karena muncul pesan kesalahan bahwa tabel tidak bisa di edit. Sungguh menyebalkan jika tabel yang akan kita edit ini adalah tabel dengan jumlah data yang sangat besar datanya.

Tenang, Saya juga pernah mengalami hal ini, cukup sedikit query sql saja masalah ini akan selesai. Dan jangan lupa berdoa agar tidak error lagi 😀

Fitur sql atau fungsi sql yang akan kita gunakan adalah alter tabel. Alter table merupakan fungsi sql untuk mengedit data atau struktur mysql. Cara menjalankannya dapat menggunakan phpmyadmin dan juga command line database.

ALTER TABLE `jawaban` CHANGE `idJawaban` `idJawaban` INT(11) NOT NULL AUTO_INCREMENT;

“jawaban” adalah nama tabel yang ada pada struktur database kamu. Sedangkan “idJawaban” adalah kolom atau field yang akan di rubah dan “idJawaban” yang kedua adalah nama kolom yang akan di gunakan sebagai pengganti. Pada kasus ini kolom atau fieldnya tidak akan kita rubah. Dan INT adalah jenis datanya. Nah yang terarir jangan lupa auto_increment sebagai inisial auto increment.

Untuk penggunaanya silahkan disesuaikan saja dengan kebutuhan. Pada implementasinya jika data pada database kamu sangat banyak atau besar, maka loading untuk mengeksekusi prosesnya sedikit memakan waktu. Maka tunggu saja sampai tabel kamu berubah strukturnya seperti yang kita inginkan tadi pada akhir proses dari menjalankan query ini. semoga bermanfaat.

Ketika membuat sebuah tabel di database MySQL, biasanya akan ada sebuah record/field yang di jadikan sebagai PRIMARY KEY dengan fitur AUTO_INCREMENT (memberi nilai otomatis secara urut ketika data diinput). Apabila sebuah field misal id dijadikan PRIMARY KEY AUTO_INCREMENT sebagai penomoran maka ketika sebuah data dihapus kemudian data diinputkan lagi, urutan nomor tersebut akan tidak berurutan. Hal ini akan menyebabkan data yang dihasilkan tidak akurat dan baik.

Untuk mengatasi hal tersebut, maka perlu dilakukan reset nilai auto increment di database MySQL. Agar nantinya data yang dihasilkan akurat dan baik. Ada beberapa cara yang dapat digunakan untuk mereset nilai auto increment yaitu :

// 1. Alter Table
/* Menggunakan perintah ALTER TABLE yaitu mengubah struktur auto increment. Dengan cara ini Anda cukup menentukan nilai auto increment yang akan direset. */
ALTER TABLE nama_tabel AUTO_INCREMENT = 0;
ALTER TABLE nama_tabel AUTO_INCREMENT = 55;

// 2. Truncate Table
/* Dengan perintah TRUNCATE, semua data akan dihapus dan field dengan auto increment akan direset kembali. */
TRUNCATE TABLE nama_tabel;

// 3. Mengahapus Field Auto Increment & Membuatnya Kembali
/* Dengan cara ini Anda harus menghapus field PRIMARY KEY AUTO_INCREMENT, kemudian membuat kembali field tersebut. Pertama, hapus dahulu field dengan PRIMARY KEY AUTO_INCREMENT dengan perintah berikut : */

// Menghapus Field Auto Increment
ALTER TABLE nama_tabel DROP nama_field;

// Membuat Kembali Field dengan Auto Increment
ALTER TABLE nama_tabel ADD nama_field INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Jika didalam tabel terdapat banyak data, cara ke-3 cukup efektif untuk Anda gunakan. Dikarenakan data Anda tidak akan terhapus. Namun apabila Anda ingin mereset nilai auto_increment ke posisi tertentu gunakanlah cara ke-1. Semoga bermanfaat.

Sumber : http://www.eplusgo.com/reset-nilai-auto-increment-mysql/

About The Author

Robby Prihandaya

Robby is an Engineer, Entrepreneur, Thinker and Founder of phpmu.com programming blog. a very popular web development site, Lives in Padang - Indonesia

Apa itu auto increment pada MySQL?

Auto increment field pada MySQL adalah suatu tipe field integer yang secara otomatis akan bertambah nilainya jika terjadi penambahan row pada table dimana field tersebut berada.

Apakah kegunaan dari auto_increment?

Auto-increment dapat digunakan untuk nomor unik yang dibuat secara otomatis saat record baru dimasukkan ke dalam tabel. Auto-increment ini biasanya ada pada PRIMARY KEY yang ingin dibuat secara otomatis setiap kali catatan baru dimasukkan.

Bagaimana cara kerja dari My SQL?

Bagaimana Cara Kerja MySQL?.

MySQL membuat database untuk menyimpan dan memanipulasi data, serta menentukan keterkaitan antara masing-masing tabel..

Client membuat permintaan (request) dengan mengetikkan pernyataan SQL yang spesifik di MySQL..

Aplikasi server akan merespons dengan memberikan informasi yang diminta..

Apa itu primary key pada MySQL?

Fungsi Primary Key pada MySQL Kunci utama memungkinkan kamu untuk mengidentifikasi setiap baris di tabel. Hal ini penting dilakukan karena dapat menautkan tabel ke tabel lain yang berkaitan dengan kunci utama sebagai tautannya.

Auto Increment MySQL untuk apa?

Auto-increment dapat digunakan untuk nomor unik yang dibuat secara otomatis saat record baru dimasukkan ke dalam tabel. Auto-increment ini biasanya ada pada PRIMARY KEY yang ingin dibuat secara otomatis setiap kali catatan baru dimasukkan.

Apa fungsi dari primary key?

Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik.

Bagaimana cara reset auto_increment di dalam tabel?

Cara Mereset Auto Increment pada Database MySQL.
Menghapus field id dengan menggunakan perintah berikut : ALTER TABLE nama_tabel DROP nama_field..
Data id akan terhapus dan menyisakan field nama saja..
Buat perintah seperti ini dan jalankan. ... .
Sekarang data sudah berurut dari 1-6..

Apa itu Auto increase?

Auto Increment adalah fungsi yang beroperasi pada tipe data numerik yang digunakan untuk memberikan ikremental/nilai yang berurutan.