Teknik string autoincrement di MySQL

web programming No Comments »

Langkah pertama adalah mengambil nilai field terbesar dari database yang akan di autoincrement, misal dalam suatu field bernama id_indikator pada suatu tabel bernama indikator_penilaian berisi dua record yaitu: 1.DTM.016_1.1 dan 1.DTM.016_1.2, sedangkan nilai yang akan di-increment adalah digit terakhir, maka cara mengetahui field yang terbesar adalah dengan melakukan query sbb:

SELECT MAX(id_indikator) FROM indikator_penilaian WHERE id_indikator LIKE '1.DTM.016_1.%'

Query di atas akan menghasilkan ‘1.DTM.016_1.2′

Langkah selanjutnya adalah mengambil digit terakhir dari hasil query, hal ini dilakukan dengan mereplace ‘1.DTM.016_1.’ dengan ”, lalu mengkonversinya dari string ke numerik dan ditambahkan dengan 1.

Untuk selanjutnya apabila akan dilakukan penyisipan record baru maka id_indikator yang terbaru adalah ‘1.DTM.016_1.’ ditambahkan nilai tadi.

Walaupun sepintas cara ini berhasil namun query di atas ada kelamahannya, yaitu angka autoincrement hanya akan sampai pada digit ke 9, hal ini disebabkan karena operasi MAX diterapkan pada tipe data string. Untuk mengatasi hal tersebut perlu dilakukan perbaikan query menjadi:

SELECT MAX(CAST(REPLACE(id_indikator,'1.DTM.016_1.','') AS UNSIGNED)) 'max_id' FROM indikator_penilaian WHERE id_indikator LIKE '1.DTM.016_1.%'

Dengan sintaks diatas tidak akan terjadi masalah lagi.

Postingan Perdana

web programming No Comments »

Ini postingan yang pertama saya di blog yang di hosting sama sourceforge.net dan domain gratisan dari vlsm.org kepunyaanya tim opensource dari UI, :) jadi semuanya gratisan.

Iseng nyobain ngisi test dari webdesigninteractive yang soalnya sih gak terlalu susah, tapi karena saya gak terlalu jago bahasa inggris jadi akhirnya cuma nebak-nebak aja, walaupun demikian wal hasil saya memperoleh sbb:

Ahmad Fauzi -Web 2.0 Design Master's Degree

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login