Cara Truncate Tabel MySQL yang Punya Foreign Key

Ketika deploy database dari development ke production, umumnya kita akan mengosongkan data terlebih dahulu. Gak bagus dong, kalau data yang kita input waktu debug aplikasi nantinya tercampur dengan data real setelah aplikasi digunakan. Aku termasuk golongan yang suka menghapus data sekaligus mereset auto-increment tabel. Jadi, waktu digunakan nanti, data pertama akan mempunyai autonumber dari angka 1. Biar rapi gitu… cool

Cara paling mudah untuk menghapus data dan mereset auto-increment adalah dengan fungsi TRUNCATE. Namun, ternyata ada aturan standard di mysql, tabel yang punya foreign key tidak bisa di-truncate, dengan tujuan untuk menjaga kevalidan data. Untungnya aturan itu masih bisa dinonaktifkan dengan perintah SET FOREIGN_KEY_CHECKS = 0 (jangan lupa untuk diaktifkan kembali ya). Berikut contoh query mysql untuk me-truncate tabel master_barang yang mempunyai foreign key:

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE master_barang;
SET FOREIGN_KEY_CHECKS = 1;

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Hartadi

I’m a Passionate Programmer ;)

Leave a Reply