Menggugurkan Jadual MySQL tanpa DROP Kebenaran Pangkalan Data melalui Barisan Perintah
Seperti yang dinyatakan dalam pertanyaan, pengguna mungkin kekurangan kebenaran untuk mencipta semula pangkalan data tetapi boleh melaksanakan penurunan jadual. Untuk menangani perkara ini, kami membentangkan penyelesaian untuk mengalih keluar semua jadual MySQL tanpa DROP hak pangkalan data terus daripada baris arahan.
Penyelesaian:
Untuk menggugurkan semua jadual dalam satu spesifik pangkalan data, anda boleh melaksanakan urutan arahan berikut:
Lumpuhkan semakan kunci asing:
SET FOREIGN_KEY_CHECKS = 0;
Sambungkan nama jadual menjadi satu rentetan:
SET @tables = NULL; SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables FROM information_schema.tables WHERE table_schema = 'database_name'; -- Replace 'database_name' with the actual database name.
Buat pernyataan DROP TABLE:
SET @tables = CONCAT('DROP TABLE ', @tables);
Sediakan dan laksanakan pernyataan DROP gabungan:
PREPARE stmt FROM @tables; EXECUTE stmt; DEALLOCATE PREPARE stmt;
Dayakan semula semakan kunci asing:
SET FOREIGN_KEY_CHECKS = 1;
Pendekatan ini memastikan semua jadual digugurkan dalam susunan yang betul, dengan itu mengelakkan pelanggaran kekangan kunci asing .
Atas ialah kandungan terperinci Bagaimana untuk Menggugurkan Semua Jadual dalam Pangkalan Data MySQL Tanpa Kebenaran Pangkalan Data DROP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!