Showing posts with label mysql. Show all posts
Showing posts with label mysql. Show all posts

Saturday, July 11, 2009

convert string ke integer dalam mysql

Apakah kita dapat melakukan operasi bilangan dalam database dengan tipe data string? Apakah itu mungkin? Sering kali kita bingung untuk mengubah tipe data yang akan kita tampilakan dari database yang bertipe string ke dalam tipe integer. Hal ini berguna apabila kita memiliki primary key yang bertipe string contohnya nomer kode buku dalam perpustakaan.
Disini kita memiliki data yang isinya merupakan kombinasi angka dan huruf. angka disini menentukan nomer buku dan huruf adalah jenis buku. Kapan saat konversi ini dibutuhkan? konversi ini akan dibutuhkan pada saat kita melakukan penambahan buku. Kita tidak boleh mengisi kode buku yang sama dengan yang lain karena itu akan mengakibatkan kerusakan data. Sebaiknya disini kan pada saat kita akan menambahkan buku maka akan diinputkan secara otomatis kode buku yang kita akan tambahkan. Disini kita tidak bisa melakukan fungsi standar yang ada dalam database seperti auto increment karena tipe data kita adalah string. Bagaimana query sqlnya? begini caranya :

SELECT MAX(CONVERT(nama_colom, tipe_data)) FROM nama_tabel;


keterangan :
max : untuk mengambil nilai maksimum
convert : mengkonversi string ke integer
tipe data : kita dapat mengisi tipe data dengan
  • BINARY[(N)]

  • CHAR[(N)]

  • DATE

  • DATETIME

  • DECIMAL[(M[,D])]

  • SIGNED [INTEGER]

  • TIME

  • UNSIGNED [INTEGER]

contoh sql :

SELECT MAX(CONVERT(kode_buku,signed)) FROM buku WHERE kode_buku like %roman%;

query tersebut bertujuan untuk mencari nilai maksimum dari kode buku yang berjenis roman. Jika anda mau mencari nilai incrementnya silahkan tambahkan +1 setelah max.

Contoh sql :
SELECT MAX(CONVERT(kode_buku,signed))+1 AS kode FROM buku WHERE kode_buku like %roman%;
sql ini akan menghasilkan nilai maksimum ditambah satu / next auto increment.

semoga ini bisa bermanfaat...
hehehe...

Tuesday, June 30, 2009

Menampilkan next auto increment value di php

Kita sering menemui kebingungan karena perbedaan fungsi yang terdapat pada beberapa macam jenis database. Database yang sering kita gunakan contohnya mysql atau oracle. Pada masalah ini saya akan membahas cara menampilkan nilai auto increment selanjutnya (next auto increment value) pada database mysql. Jika pada oracle kita akan menemui nextval. sedangkan pada mysql tidak terdapat menu seperti oracle. Hal ini akan berguna apabila kita ingin menampilkan nilai selanjutnya dalam pembuatan program dalam php.

Untuk penerapannya dalam bahasa PHP dapat dilihat skrip dibawah ini.

/*
//< ? //$namatabel="table1";
//$query = "SHOW TABLE STATUS LIKE '$namatabel'";
//$tampil = mysql_query($query) or die ( "Query failed: " . mysql_error() . "
" . $query );

//$row = mysql_fetch_assoc($tampil);
//$next_increment = $row['Auto_increment'];

//echo "next increment number: [$next_increment]";
?>

*/


keterangan:
// $namatabel : nama tabel yang akan diambil nilai auto incrementnya.
// SHOW TABLE STATUS LIKE '$namatabel' : query pengaksesan mysql
// $row['Auto_increment'] ;