Rumah  >  Artikel  >  pangkalan data  >  Jadual Saya Wujud, Tetapi Tidak: Bagaimana Saya Menyelesaikan Paradoks MySQL Ini?

Jadual Saya Wujud, Tetapi Tidak: Bagaimana Saya Menyelesaikan Paradoks MySQL Ini?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 05:40:02748semak imbas

  My Table Exists, But Doesn't: How Do I Resolve This MySQL Paradox?

Schrödinger's MySQL Table: A Tale of Existence and Noexistence

Menghadapi paradoks di mana MySQL melaporkan jadual wujud namun menolak penciptaannya adalah membingungkan isu. Artikel ini bertujuan untuk membongkar misteri di sebalik dilema jadual Schrödinger ini.

Seperti yang diterangkan dalam pertanyaan asal, melaksanakan CREATE TABLE menghasilkan ralat "jadual sudah wujud", manakala DROP TABLE mengembalikan "jadual tidak diketahui." Kekacauan kosmik ini menghalang pengguna, meninggalkan mereka dengan jadual tidak ketara yang tidak boleh dibuat atau dipadamkan.

Penyebabnya, dalam kebanyakan kes, terletak pada kehadiran fail meja yatim. MySQL mengurus data dalam dua jenis fail: .frm untuk definisi jadual dan .MYI dan .MYD (MYISAM), atau .ibd (InnoDB) untuk data jadual. Apabila salah satu daripada fail ini hilang, jadual menjadi hantu separuh bentuk, yang membawa kepada ketidakkonsistenan dalam respons MySQL.

Untuk menyelesaikan teka-teki jadual Schrödinger ini, cari dan padamkan fail yatim daripada direktori data secara manual. Jika menggunakan InnoDB, pastikan kedua-dua fail .frm dan .ibd wujud, manakala jadual MYISAM memerlukan trio lengkap fail .frm, .MYI dan .MYD.

Setelah fail yatim dialih keluar, paradoks itu hilang, dan jadual boleh dibuat atau digugurkan seperti yang diharapkan. Oleh itu, jadual Schrödinger yang sukar difahami diselesaikan, menunjukkan bahawa dalam bidang MySQL, kewujudan dan ketiadaan kadangkala boleh berkait dengan cara yang membingungkan.

Atas ialah kandungan terperinci Jadual Saya Wujud, Tetapi Tidak: Bagaimana Saya Menyelesaikan Paradoks MySQL Ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn