Rumah >pangkalan data >tutorial mysql >Ralat MySQL 1025: Bagaimana untuk Menyelesaikan Isu 'Ralat pada Namakan Semula' dengan Kekangan Utama Asing?

Ralat MySQL 1025: Bagaimana untuk Menyelesaikan Isu 'Ralat pada Namakan Semula' dengan Kekangan Utama Asing?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-02 01:55:11662semak imbas

MySQL Error 1025: How to Resolve

Ralat MySQL 1025: Membongkar Misteri

Apabila melaksanakan pernyataan SQL yang melibatkan pengubahsuaian jadual, anda mungkin menghadapi mesej ralat seperti "Ralat semasa menamakan semula." Artikel ini akan menjelaskan ralat MySQL 1025, khususnya memfokuskan pada konteks pengubahan jadual dan kekangan kunci asing.

Mesej ralat "ERROR 1025 (HY000): Ralat semasa menamakan semula './product/#sql -14ae_81' to '/product/region' (errno: 150)" selalunya timbul apabila bekerja dengan jadual InnoDB. Dalam kes sedemikian, adalah penting untuk memahami peranan kekangan kunci asing.

Untuk menyelesaikan isu ini, anda perlu mengalih keluar kekangan kunci asing sebelum melakukan pengubahan jadual. Walau bagaimanapun, anda tidak boleh melepaskan kekangan secara langsung dengan merujuk nama lajur. Sebaliknya, anda mesti mengenal pasti nama indeks yang dikaitkan dengan kunci asing.

Jalankan pertanyaan berikut untuk mendapatkan maklumat ini:

SHOW CREATE TABLE region;

Output akan memaparkan butiran kekangan kunci asing, termasuk nama indeks. Contohnya:

CONSTRAINT region_ibfk_1 FOREIGN
KEY (country_id) REFERENCES
country (id) ON DELETE NO
ACTION ON UPDATE NO ACTION

Setelah anda mempunyai nama indeks, laksanakan arahan ini:

alter table region drop foreign key region_ibfk_1;
alter table region drop column country_id;

Dengan mengikut langkah ini, anda boleh berjaya melakukan pengubahan jadual dan menyelesaikan ralat MySQL 1025.

Atas ialah kandungan terperinci Ralat MySQL 1025: Bagaimana untuk Menyelesaikan Isu 'Ralat pada Namakan Semula' dengan Kekangan Utama Asing?. 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