Mengapa Saya Tidak Boleh Menggugurkan Indeks dalam MySQL?

Patricia Arquette
Lepaskan: 2024-11-01 17:30:02
asal
757 orang telah melayarinya

Why Can't I Drop an Index in MySQL?

MySQL: Mengendalikan Ralat "Tidak boleh menjatuhkan indeks diperlukan dalam kekangan kunci asing"

Apabila cuba mengubah suai pangkalan data MySQL dengan mengalih keluar indeks sedia ada, anda mungkin menghadapi mesej ralat "MySQL Tidak boleh menggugurkan indeks yang diperlukan dalam kekangan kunci asing." Isu ini timbul apabila indeks penting untuk mengekalkan integriti rujukan dalam pangkalan data.

Ralat biasanya berlaku apabila cuba mengalih keluar indeks yang dirujuk oleh kekangan kunci asing dalam jadual lain. Kunci asing adalah penting untuk mengelakkan ketidakkonsistenan data dengan memastikan baris yang berkaitan dalam berbilang jadual kekal disegerakkan. Mereka membuat indeks secara automatik pada lajur yang dirujuk dalam jadual induk untuk memudahkan carian yang cekap dan tepat.

Untuk menyelesaikan ralat ini, anda mesti melepaskan kekangan kunci asing yang bergantung pada indeks yang ingin anda alih keluar terlebih dahulu. Ini boleh dilakukan menggunakan sintaks berikut:

ALTER TABLE [parent_table_name] DROP FOREIGN KEY [foreign_key_name];
Salin selepas log masuk

Sebagai contoh, dalam contoh yang disediakan di mana indeks "AID" digunakan oleh tiga kunci asing dalam jadual "mytable", anda perlu melaksanakan arahan berikut:

ALTER TABLE mytable DROP FOREIGN KEY mytable_ibfk_1;
ALTER TABLE mytable DROP FOREIGN KEY mytable_ibfk_2;
ALTER TABLE mytable DROP FOREIGN KEY mytable_ibfk_3;
Salin selepas log masuk

Setelah kekangan kunci asing dialih keluar, anda boleh meneruskan untuk menjatuhkan indeks:

ALTER TABLE [table_name] DROP INDEX [index_name];
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggugurkan Indeks dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!