Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat MySQL 150: Isu Kekangan Utama Asing?

Mengapa Saya Mendapat Ralat MySQL 150: Isu Kekangan Utama Asing?

Susan Sarandon
Susan Sarandonasal
2024-11-27 17:20:141018semak imbas

Why Am I Getting MySQL Error 150: Foreign Key Constraint Issues?

MySql Error 150: Foreign Key Constraints

Apabila melaksanakan pertanyaan untuk mencipta dua jadual, satu sebagai rujukan untuk yang lain, mesej ralat menunjukkan: "ERROR 1005 (HY000): Tidak dapat membuat jadual './test/bar.frm' (errno: 150)."

Menurut dokumentasi Kekangan KUNCI ASING MySQL, ralat timbul apabila jadual yang dicipta semula yang dirujuk oleh kekangan kunci asing tidak mematuhinya. takrifan. Khususnya, jadual yang dibuat semula mesti:

  • Mempunyai nama dan jenis lajur yang betul
  • Mempunyai indeks pada kekunci yang dirujuk

Dalam kes ini, dokumentasi mencadangkan bahawa isunya mungkin salah satu jadual, 'foo', tidak dicipta sebagai jadual InnoDB. Ini kerana kekangan kunci asing hanya boleh diwujudkan antara jadual InnoDB yang bukan SEMENTARA.

Dokumentasi menyatakan:

Both tables must be InnoDB tables and they must not be TEMPORARY tables. 

Oleh itu, untuk menyelesaikan ralat, adalah disyorkan untuk memastikan bahawa jadual 'foo' dicipta sebagai jadual InnoDB sebelum cuba mewujudkan kekangan kunci asing dalam jadual 'bar'.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat MySQL 150: Isu 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