Menghapus seluruh data di MySQL menggunakan perintah truncate
Berikut cara melakukan TRUNCATE pada MySQL beserta penjelasannya:
✅ Perintah TRUNCATE pada MySQL
1. Truncate Tabel (menghapus semua data)
TRUNCATE TABLE nama_tabel;
Contoh:
TRUNCATE TABLE users;
Efek:
- Semua data dihapus permanen.
- AUTO_INCREMENT reset kembali ke 1.
- Tidak bisa dibatalkan (non-transactional di MyISAM; di InnoDB tergantung konfigurasi).
⚠️ Syarat agar TRUNCATE berhasil
- Tidak boleh ada foreign key constraint (referensi ke/dari tabel lain).
- Anda harus memiliki izin
DROPdanALTERdi tabel tersebut.
Jika ada FK:
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE nama_tabel;
SET FOREIGN_KEY_CHECKS = 1;
🔄 Perbedaan TRUNCATE vs DELETE
| Perintah | Menghapus data | Auto Increment | Kecepatan |
|---|---|---|---|
TRUNCATE | Semua data langsung | Reset | Sangat cepat |
DELETE | Bisa pilih baris | Tidak reset (kecuali manual) | Lebih lambat |
📝 Reset Auto Increment tanpa truncate
Jika ingin menghapus semua data dan reset ID:
DELETE FROM nama_tabel;
ALTER TABLE nama_tabel AUTO_INCREMENT = 1;
Leave a Reply