Menghindari duplikat data dalam mysql dengan php

Menghindari duplikat data

Menghindari duplikat data dalam mysql bisa dilakukan dengan dua cara, pertama dengan mendefinisikan salah satu field/kolom sebagai primary key atau index, dan cara kedua adalah dengan membuat rutin perintah pengecekan data pada saat akan melakukan insert data. Berikut ini saya akan berbagi tentang bagaimana membuat rutin perintah php yang digunakan untuk menghindari duplikat data dalam mysql.

Jika anda hanya menggunakan cara yang pertama dengan mendefinisikan salah satu field sebagai primary key, yang terhindar dari duplikat data hanya kolom itu saja. Selain itu, biasanya juga jika terjadi duplikat primary key maka akan muncul error dari sistem database itu sendiri.

Berbeda dengan penanganan duplikat data yang dibuat dari rutin perintah php, dengan cara ini kita lebih leluasa mengontrol terjadinya duplikat data. Kita bisa melakukan pengecekan lebih dari satu field yang ingin dihindarkan dari duplikasi data. Walaupun pada dasarnya pendeklarasian kolom/field index atau primary key tetap harus ada agar tabel yang kita buat dalam database mysql bisa sempurna.

Contoh kasus, kita punya sebuah tabel mahasiswa yang didalamnya tersusun field seperti berikut :

rancangan tabel mysql

Bisa anda lihat susunan tabel diatas bahwa field nim tetap harus dijadikan primary/index agar nantinya bisa direlasikan dengan tabel lainya jika diperlukan.

Bagaimana menghindari duplikat data dengan php?

Jika kita menggunakan cara bisa dengan perintah seperti berikut :

$query="insert into tb_mhs(nim,nama,tempat_lahir,tanggal_lahir) 
   values('$nim','$nama','$tempat_lahir','$tanggal_lahir');
mysql_query($query);

Maka ada kemungkinan suatu saat akan terjadi duplikat data yang otomatis akan muncul pesan error yang isinya memberitahukan anda tentang terjadinya duplikat primary key.

Cara pertama yang bisa dilakukan adalah dengan menambahkan perintah die("Pesan") pada akhiran perintah mysql_query agar program berhenti. Tapi hal ini hanya memberhentikan dengan memunculkan pesan jika yang diduplikat hanya primary key saja.

Cara lebih aman adalah menambahkan sebuah proses pengecekan sebelum melakukan eksekusi query dengan perintah seperti berikut :

<?php
$cekdata="select nim from tb_mahasiswa where nim='$nim'";
$ada=mysql_query($cekdata) or die(mysql_error());
if(mysql_num_rows($ada)>0)
{ 
  echo "<h3>NIM telah Terdaftar! Silahkan diulangi.</h3>"; 
}
else
{
  $query="insert into tb_mhs(nim,nama,tempat_lahir,tanggal_lahir) values('$nim','$nama','$tempat_lahir','$tanggal_lahir')";
  mysql_query($query) or die("Gagal menyimpan data karena :").mysql_error();
}
?>

Perintah diatas jika anda amati melakukan pengecekan jumlah data dengan kriteria nim yang sudah diinput, jika record yang diperoleh lebih dari 0 berarti terjadi duplikat data.

Dengan cara diatas anda bisa juga melakukan pengecekan field lain misal data yang dimasukkan tidak boleh duplikat nim dan nama, maka tinggal mengubah pada bagian where menjadi : where nim='$nim' and nama='$nama'.

Sekian tips tentang menghindari duplikasi data mysql dengan php, semoga bermanfaat dan memberi inspirasi buat anda. Kirimkan komentar, koreksi, atau pertanyaan tentang bahasan diatas pada komentar dibawah.

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 1
    Pada artikel ini saya akan menjelaskan langkah-langkah secara lengkap membuat aplikasi data mahasiswa dengan php. Bahasan akan saya bagi menjadi beberapa bagian yaitu Langkah Membuat database, Membuat koneksi database, membuat menu utama, membuat form input data, membuat proses simpan dan upload gambar, membuat laporan membuat pencarian, membuat delete data, membuat form update, membuat proses update, membuat tabel login, membuat proses login, dan terakhir membuat proses logout.
  • Membuat aplikasi php dalam satu file
    Biasanya kita membuat sebuah aplikasi php, semua bagian/modul/halaman dipisah dalam file-file yang berbeda. Misalkan membuat aplikasi data mahasiswa, kita membuat halaman menu kemudian disimpan dalam menu.php, membuat input data lalu disimpan dalam input-data.php, kemudian membuat simpan lalu disimpan dalam simpan.php dst. Bagaimana jika semua fungsi halaman tersebut dijadikan dalam satu file? Simak artikel berikut.
  • Membuat animasi flash dengan php
    Anda mungkin sudah mengenal apa itu flash, yaitu sebuah jenis media digital yang bisa menampilkan gambar, tulisan dan memutar audio. Flash ini sering digunakan untuk membuat animasi yang ditampilkan di internet. Flash atau yang sering disebut animasi flash ini umumnya dibuat dengan aplikasi khusus seperti Adobe Flash. Tapi kita juga bisa membuatnya dengan php, walaupun hanya dengan animasi-animasi sederhana.
  • Apa yang harus diketahui sebelum belajar php
    PHP merupakan pemrograman yang saat ini berkembang pesat. Banyak website dan aplikasi web baru bermunculan dijaringan internet. Inovasi-inovasi yang sangat variatif sesuai keperluan dikembangkan dengan menganut sistem terbuka (opensource) dihasilkan dari
  • Upload banyak file dengan php
    Beberapa waktu lalu saya sempat menulis tentang bagaimana membuat form serta script upload file dengan php, tapi masih dengan cara melampirkan satu file saja. Berikut ini saya akan berbagi lagi tentang bagaimana jika yang di upload terdiri dari beberapa file dan judul yang dikirim secara bersamaan dengan php.

Kiriman terbaru