Cara Menambahkan Auto Increment dan Primary Key Pada Tabel MySQL Dengan phpMyAdmin 4.5.2


Ketika saya beralih dari Apache2Triad ke XAMPP, Saya agak sedikit kebingungan dengan tampilan phpMyAdmin-nya, terutama pada saat saya ingin menambahkan primary key dan auto increment pada tabel yang akan saya buat. Tampilannya berbeda mungkin di karenakan versi phpMyAdmin yang digunakan oleh Xampp berbeda dengan versi yang digunakan oleh Apache2Triad. Tapi sebenarnya menambahkan auto increment dan primary key di phpMyAdmin itu mudah saja, meskipun versi atau tampilan dari phpMyAdmin-nya berbeda – beda.

Fungsi Auto_Increment dan Primary Key

1. Auto Increment

Berdasarkan pengalaman, auto_increment pada sebuah tabel ini biasanya digunakan supaya bila ada data baru yang masuk kedalam database/tabel, maka data tersebut tidak akan tertimpa.
Contoh :


Pada sebuah website terdapat form atau halaman buku tamu, halaman buku tamu tersebut terhubung dengan sebuah tabel database MySQL sebagai tempat menyimpan data – data orang yang berkomentar pada buku tamu website. Bila anda tidak menambahkan AUTO_INCREMENT (Primary key) pada tabel tersebut, maka pada saat ada data baru/user baru yang berkomentar, akan terjadi sebuah error atau duplikat entry, atau dengan kata lain data baru yang di masukan oleh user tidak akan di simpan kedalam tabel database. 
Pesan error akibat tidak menambahkan auto increment biasanya seperti ini “ Maybe : Duplicate entry '0' for key 'PRIMARY' 
pesan error karena tidak menambahkan auto_increment ke tabel

Sedangkan kalau kita menambahkan AUTO INCREMENT, maka jika ada data/komentar baru yang di inputkan oleh user akan secara otomatis ditambahkan

2. Primary Key

Di dalam sebuah tabel, harus ada sebuah field yang digunakan sebagai field Primery Key. Maksud dari field Primary Key, yaitu field tersebut digunakan sebagai field index utama field kunci pengurutan data dari sebuah tabel.

Ada dua cara yang bisa Anda lakukan untuk menambahkan Auto_Increment dan Primary key pada sebuah tabel database dan berikut adalah Cara Menambahkan Auto Increment dan Primary Key Pada Tabel MySQL Dengan phpMyAdmin 4.5.2 :

1. Menggunakan Query

Menggunakan query maksudnya adalah kita membuat tabel kemudian menambahkan auto_increment beserta primary key-nya menggunakan script yang dijalankan lewat menu SQL yang terdapat di phpMyAdmin. Bila sudah membuat database dan kemudian ingin membuat sebuah tabel maka Anda cukup klik tab/menu SQL kemudian pastekan scriptnya. 
Contoh query/script untuk membuat tabel :

CREATE TABLE `data_jomblo` (
`id` int(20) NOT NULL auto_increment,
`nama` varchar(50) NOT NULL,
`email` varchar(60) NOT NULL,
`alamat` varchar(30) NOT NULL,
`alasan_menjomblo` text NOT NULL,
`tanggal` varchar(18) NOT NULL,
`ip` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

2. Menggunakan cara biasa
Kalau cara pertama menggunakan Query atau script, maka cara kedua adalah cara yang biasa dilakukan, atau cukup klik – klik saja. Kita bisa menambahkan auto increment secara langsung dengan mencentang pilihan A_I pada saat proses pembuatan tabel.

Bila pilihan A_I dicentang maka secara otomatis primary key juga akan di tambahkan seperti yang terlihat pada gambar berikut
Mencentang Auto Increment
Bila tabelnya sudah disimpan maka akan terlihat seperti pada gambar di bawah ini
tabel sudah dibuat

*Note
Ketika Anda menambahkan "Auto Increment (A_I)" pada salah satu data di kolom maka secara otomatis akan membuat sebuah Primary key (kunci utama)


20 Responses to " Cara Menambahkan Auto Increment dan Primary Key Pada Tabel MySQL Dengan phpMyAdmin 4.5.2"

  1. ASyiikkk dapat disini ilmunya..hahah..trims ya Kang.

    ReplyDelete
  2. wah ternyata mas ahmad jago coding jga yah :D

    ReplyDelete
  3. gan, misal incrementnya digabung sama field lain caranya gimana ya? misal tanggal lahir jadi gini 10091998001, 05031994002,24052000003... dst

    ReplyDelete
    Replies
    1. kalau kasus seperti itu,, Saya belum pernah nyoba,, mungkin lain kali akan saya jelaskan...

      Delete
  4. makasih gan akhirnya dapat jalan kluarnya masalah saya setelah melihat artikel yang anda posting :D

    ReplyDelete
  5. permisi min kan awalnya saya memiliki tablel barang, didalam tabel barang ada "Id" dimana saat itu saya menambahkan Primary Key di situ, dan waktu saya mau menambahkan auto increment malah error, kira-kira untuk solusinya bagaimana ya min ?
    Terimakasih.

    ReplyDelete
  6. Selamat siang min maaf saya mau bertanya, sebelumnya saya membuat tabel barang (Id) dimana Id tersebut sudah saya set menjadi Primary Key dan waktu saya mau menambahkan auto increment dengan cara mencentang pilihan A_I, malah error min, untuk cara mengatasinya bagaimana min ?
    Terima Kasih.

    ReplyDelete
    Replies
    1. errornya gimana bro, ada pesannya gak ??? dicoba lagi saja bro..

      Delete
    2. coba buatnya dari awal mba, pas buat tambahin atau klik auto increment,maka biasanya di otomatis milih primary key

      Delete
  7. Gan semisal tanya,semisal buat nomer 1.2.3.4.5
    Nah ketika data nomer 5 sy hapus,maka ketika sy masukan data lg,dia apa akan kembali ke 5 lg,apa malah meloncat ke 6,jd semisal jd begi 1.2.3.4.6

    Mhn infonya gan.
    Ni email sy adiadipro.aa@gmail.com

    ReplyDelete
    Replies
    1. Setahu saya kalau diurutan databasenya, kalau sudah dihapus, tidak akan berurutan lagi, namun meloncat nomornya, misal 5 sudah dihapus maka nanti selanjutnya data yang masuk akan di tulis 6, tapi kalau di PHPnya saat ditampilkannya bisa dirubah jadi berurutan tidak mengikuti data id yang ada didatabase, baca : https://www.root93.co.id/2017/05/menampilkan-database-dari-angka-satu-1.html

      Delete
  8. pak, saya mau tanya
    untuk membuat prefix auto increment itu gimana caranya, pak?
    contoh; M001, M002, M003,... dst.

    ReplyDelete
    Replies
    1. caranya bisa buat tabel terpisah dulu mas...
      example :
      buat dua tabel saja
      CREATE TABLE table1_seq
      (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
      );
      CREATE TABLE table1
      (
      id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
      );
      terus buat trigger...

      DELIMITER $$
      CREATE TRIGGER tg_table1_insert
      BEFORE INSERT ON table1
      FOR EACH ROW
      BEGIN
      INSERT INTO table1_seq VALUES (NULL);
      SET NEW.id = CONCAT('M', LPAD(LAST_INSERT_ID(), 3, '0'));
      END$$

      selanjutnya cuba insert datanya

      DELIMITER ;

      Delete
    2. atau coba kek gini saja,, contoh :
      create table namatabel (
      id int(3) unsigned zerofill not null auto_increment primary key,
      name varchar(30) not null
      );

      insert into namatabel set name = 'John';
      insert into namatabel set name = 'Mark';

      select concat('M', id) as id, name from namatabel;

      Delete
  9. Thanks ilmunya min, semoga berkah Aamiin..

    ReplyDelete
  10. bagaiman cara mengurutkan no pada 2 tabel yang digabungkan, jadi karena tabel di gabungkan nomor nya tidak berurutan, jadi nya seperti ini, 1,1,2,2,3,3
    karena tabelya digabungkan nomornya pun tidak berurutan,
    mohon pencerahannya

    ReplyDelete
    Replies
    1. saya pikir mas perlu multiple insert kemudian supaya sama ditabel lain, pake last insert id

      Delete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin