BAB 19: Error Handling & Debugging MySQL – Jenis Error, Penanganan Error, dan Log MySQL

BAB 19: Error Handling & Debugging MySQL – Jenis Error, Penanganan Error, dan Log MySQL

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.


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:

LogFungsi
Error LogMencatat error server
General LogMencatat semua query
Slow Query LogMencatat 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.