saran saya, coba pakai TRIGGER..
tp trigger baru ada di mysql versi 5.0.0 ke atas..
coba tambahkan satu kolom lagi pada database yaitu kolom 'lamadetik'
sebagai kolom pembantu perhitungan dengan tipe data bigint(berfungsi
utk penghitungan interval detik nantinya).oiya,untuk waktumulai dan
waktuselesai gunakan tipe data datetime (defaultnya formatnya
YYYY:mm:dd hh:ii:ss),kemudian untuk lama waktu gunakan tipe data time.
kemudian buat triger sebagai berikut:
mysql> delimiter |
mysql> create trigger lama before insert on hitung
-> for each row begin
-> set
new.lamadetik=TIMESTAMPDIFF(SECOND,new.waktumulai,new.waktuselesai);
-> set new.lamawaktu=sec_to_time(new.lamadetik);
-> end;
-> |
mysql> delimiter ;
setelah itu coba insert data 'waktumulai' dan 'waktuselesai'
timestampdiff berfungsi utk menghitung interval waktu dan memiliki
beberapa option seperti SECOND(utk detik),DAY(utk hari),MONTH(utk
bulan),dst. fungsi ini jg baru terdapat pada mysql versi 5.0.0 ke atas.
sedangkan fungsi sec_to_time berfungsi utk meng-convert nilai second
ke dalam format time.
kata kunci 'new' maksudnya utk data yg baru di insert(biar otomatis
tiap nginsert gitu..)
lebih jelasnya bisa dliat di mysql reference manualnya..
smoga membantu..
--- In [email protected], "farhanaja" <[EMAIL PROTECTED]> wrote:
>
> Lagi-lagi saya ada ide gara-gara kegiatan yang beraturan. Idenya gini,
> Sering saya mengerjakan suatu hal dengan target berapa lama saya bisa
> mengerjakannya, tugas kuliah atau rumah.
> Nah yang mau saya tanya :
> Saya punya tiga kolom database yang isinya : Waktu Mulai, Waktu
> Selesai, Lama Waktu. Bagaimana agar Lama Waktu yang saya input dari
> Waktu Mulai dan Waktu Selesai dapat dihitung di database secara
> otomatis ??
> Terus nentuin bentuk waktunya gimana ?? apakah menggunakan mm:ss ??
>
> Atas petunjuknya saya ucapkan terima kasih.
>
> Dimas Dwicahyo
> D3 Ilkom '05
>