Error Handling & Debugging adalah proses mendeteksi, memahami, dan menangani kesalahan yang terjadi pada database MySQL.
Error dapat muncul karena kesalahan sintaks SQL, masalah koneksi, konflik data, atau pelanggaran aturan database.
Kemampuan menangani error sangat penting untuk menjaga stabilitas dan keandalan aplikasi.
Contents
2. Jenis Error MySQL
Secara umum, error MySQL dapat dibagi menjadi beberapa jenis:
a. Syntax Error
Terjadi karena kesalahan penulisan perintah SQL.
Contoh:
SELEC * FROM mahasiswa;
Error:
ERROR 1064 (42000): You have an error in your SQL syntax
b. Constraint Error
Terjadi karena pelanggaran aturan seperti PRIMARY KEY, UNIQUE, atau FOREIGN KEY.
Contoh:
INSERT INTO pengguna (email) VALUES ('test@email.com');
Jika email sudah ada:
ERROR 1062: Duplicate entry
c. Runtime Error
Terjadi saat query dijalankan, misalnya pembagian dengan nol atau data tidak ditemukan.
d. Connection Error
Terjadi ketika aplikasi gagal terhubung ke MySQL Server.
3. Handling Error Sederhana di MySQL
a. Menggunakan IF dan CASE
Digunakan dalam Stored Procedure atau Function.
IF saldo < 0 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Saldo tidak mencukupi';
END IF;
b. Menggunakan SIGNAL
SIGNAL digunakan untuk memunculkan error secara manual.
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Terjadi kesalahan input data';
c. Handler (DECLARE HANDLER)
Digunakan dalam Stored Procedure untuk menangani error tertentu.
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
END;
4. Debugging Query MySQL
a. Menggunakan EXPLAIN
Digunakan untuk melihat cara MySQL mengeksekusi query.
EXPLAIN SELECT * FROM mahasiswa WHERE nama = 'Andi';
b. Menampilkan Pesan Error
SHOW ERRORS;
SHOW WARNINGS;
5. Log MySQL
Log MySQL adalah catatan aktivitas server yang sangat berguna untuk debugging.
Jenis log MySQL:
| Log | Fungsi |
|---|---|
| Error Log | Mencatat error server |
| General Log | Mencatat semua query |
| Slow Query Log | Mencatat query lambat |
a. Melihat Lokasi Error Log
SHOW VARIABLES LIKE 'log_error';
b. Mengaktifkan Slow Query Log
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
Kesimpulan
Error handling dan debugging merupakan bagian penting dalam pengelolaan database MySQL.
Dengan memahami jenis error, teknik penanganan error sederhana, serta pemanfaatan log MySQL, pengguna dapat mengidentifikasi masalah lebih cepat dan menjaga performa serta stabilitas sistem database.