Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat 'Tidak Dapat Mencipta Jadual (errno: 150)' dalam MySQL Apabila Mengimport Fail .sql?

Mengapa Saya Mendapat Ralat 'Tidak Dapat Mencipta Jadual (errno: 150)' dalam MySQL Apabila Mengimport Fail .sql?

Linda Hamilton
Lepaskan: 2025-01-20 02:22:09
asal
481 orang telah melayarinya

Why Am I Getting a

Ralat MySQL: "Tidak Dapat Mencipta Jadual (errno: 150)" - Panduan Penyelesaian Masalah

Isu:

Mengimport fail SQL yang mengandungi definisi jadual gagal semasa pembuatan jadual, mengakibatkan ralat "Tidak boleh membuat jadual './dbname/data.frm' (errno: 150)."

Punca Punca:

Ralat ini, seperti yang diperincikan dalam dokumentasi MySQL FOREIGN KEY Constraints, timbul apabila rekreasi jadual bercanggah dengan kekangan kunci asing sedia ada yang merujuknya. Jadual yang dicipta semula mestilah sepadan dengan yang asal dari segi:

  • Nama Lajur dan Jenis Data: Surat-menyurat yang tepat adalah penting.
  • Indeks pada Kekunci Dirujuk: Semua indeks yang diperlukan pada lajur yang terlibat dalam perhubungan kunci asing mesti ada.

Penyelesaian:

Untuk menyelesaikan masalah ini, sahkan perkara berikut dengan teliti:

  • Ketekalan Lajur: Sahkan bahawa nama lajur dan jenis data dalam definisi jadual fail SQL anda adalah sama dengan yang terdapat dalam jadual yang dirujuk oleh kekangan kunci asing. Walaupun percanggahan kecil (cth., set aksara yang berbeza) boleh mencetuskan ralat ini.
  • Integriti Indeks: Cipta semula mana-mana indeks pada lajur yang terlibat dalam perhubungan utama asing. Pastikan indeks ini wujud dan sepadan dengan spesifikasi indeks jadual asal.

Setelah anda mengesahkan aspek ini, cuba semula import SQL. Jika masalah berterusan, periksa dengan teliti pernyataan CREATE TABLE dalam fail SQL anda untuk sebarang ketidakkonsistenan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tidak Dapat Mencipta Jadual (errno: 150)' dalam MySQL Apabila Mengimport Fail .sql?. 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