Saya menggunakan wampserver 2.2. Ketika saya ingin menghapus semua record dari sebuah tabel di phpMyAdmin (pilih semua) itu hanya menghapus satu record, tidak semua record. Mengapa tidak menghapus semua catatan?
phpmyadmin
Amirhosein Heydari
sumber
sumber
DELETE FROM tableName
SHIFT-DEL
Jawaban:
Pergi ke db Anda -> struktur dan kosongkan di tabel yang diperlukan. Lihat disini:
sumber
Anda memiliki 2 opsi
delete
dantruncate
:delete from mytable
Ini akan menghapus semua konten tabel, tidak menyetel ulang id autoincremental, proses ini sangat lambat. Jika Anda ingin menghapus rekaman tertentu menambahkan klausa where di akhir.
truncate myTable
Ini akan mengatur ulang tabel yaitu semua bidang penambahan otomatis akan disetel ulang. Ini adalah DDL dan sangat cepat. Anda tidak dapat menghapus rekaman tertentu melalui
truncate
.sumber
Pergi ke tab Sql, jalankan salah satu dari kueri di bawah ini:
Hapus : akan menghapus semua baris dari tabel Anda. Penyisipan berikutnya akan mengambil id kenaikan otomatis berikutnya.
atau
Truncate : juga akan menghapus baris dari tabel Anda tetapi akan dimulai dari baris baru dengan 1.
Blog mendetail dengan contoh: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
sumber
Gunakan kueri ini:
Catatan: Untuk menghapus beberapa catatan tertentu Anda bisa memberikan kondisi di mana klausa dalam kueri juga.
ATAU Anda juga dapat menggunakan kueri ini:
Juga ingat bahwa Anda tidak boleh memiliki hubungan apapun dengan tabel lain. Jika akan ada batasan kunci asing di tabel maka record tersebut tidak akan dihapus dan akan memberikan error.
sumber
Anda dapat menghapus semua baris dengan perintah ini, tetapi ingat satu hal bahwa setelah Anda menjalankan perintah truncate, Anda tidak dapat mengembalikannya.
sumber
'Truncate tableName' akan gagal pada tabel dengan batasan kunci yang ditentukan. Ini juga tidak akan mengindeks ulang
AUTO_INCREMENT
nilai tabel . Sebagai gantinya, Hapus semua entri tabel dan setel ulang pengindeksan kembali ke 1 menggunakan sintaks sql ini:sumber
Fakta yang menarik.
Saya yakin TRUNCATE akan selalu berkinerja lebih baik, tetapi dalam kasus saya, untuk db dengan kira-kira 30 tabel dengan kunci asing, diisi hanya dengan beberapa baris, butuh waktu sekitar 12 detik untuk MENGHANCURKAN semua tabel, dibandingkan dengan hanya beberapa ratus milidetik untuk MENGHAPUS baris. Menyetel kenaikan otomatis menambahkan total sekitar satu detik, tetapi masih jauh lebih baik.
Jadi saya sarankan untuk mencoba keduanya, lihat mana yang bekerja lebih cepat untuk kasus Anda.
sumber
tulis kueri: truncate 'Your_table_name';
sumber