Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat 'Tidak boleh membuat jadual (errno: 150)' MySQL?

Mengapa Saya Mendapat Ralat 'Tidak boleh membuat jadual (errno: 150)' MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-20 02:39:09327semak imbas

Why Am I Getting a MySQL

Menyelesaikan ralat MySQL "Tidak dapat mencipta jadual (errno: 150)"

Menghadapi ralat 150 semasa mencipta jadual semasa import SQL boleh mengelirukan. Artikel ini menyelami punca isu ini, memberikan pemahaman dan penyelesaian yang jelas.

Analisis Masalah

Ralat "MySQL: Tidak dapat mencipta jadual (errno: 150)" berlaku apabila takrif jadual yang diimport bercanggah dengan kekangan kunci asing yang merujuknya. Kekangan ini memastikan integriti data antara jadual yang berkaitan.

Semak kekangan kunci asing

Untuk menyelesaikan ralat ini, sahkan aspek berikut bagi kekangan kunci asing:

  1. Adakah nama dan jenis lajur betul: Pastikan jadual yang baru dibuat mempunyai nama lajur dan jenis data yang sama seperti lajur yang dirujuk dalam jadual induk.
  2. Indeks wujud: Sahkan bahawa jadual yang dibuat mempunyai indeks pada lajur yang dirujuk oleh kunci asing. Kekurangan indeks yang sesuai memecahkan integriti rujukan dan mencetuskan Ralat 150.

Selesaikan konflik

Setelah anda menentukan perbezaan antara definisi jadual dan kekangan kunci asing, ubah suai definisi jadual untuk mematuhi kekangan yang dijangkakan. Ini mungkin termasuk menambah lajur yang tiada, mengubah suai jenis data atau membuat indeks yang diperlukan.

Nota lain

  • Jika jadual digugurkan dan kemudian dibuat semula, takrifannya mestilah sama dengan jadual asal untuk mengelakkan konflik kekangan kunci asing.
  • Operasi ALTER TABLE yang mengubah jadual dengan kekangan kunci asing juga akan mencetuskan Ralat 150 jika perubahan menjejaskan kesahihan kekangan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tidak boleh membuat jadual (errno: 150)' MySQL?. 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