Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat MySQL 150: Ketakpadanan Kunci Asing?

Bagaimana untuk Membetulkan Ralat MySQL 150: Ketakpadanan Kunci Asing?

DDD
DDDasal
2024-11-26 16:01:17475semak imbas

How to Fix MySQL Error 150: Foreign Key Mismatch?

Menyelesaikan Masalah Ralat MySQL 150: Ketakpadanan Kunci Asing

Apabila cuba mencipta kekangan kunci asing dalam MySQL, pertemuan boleh timbul. Satu ralat sedemikian ialah Ralat 150, yang berlaku apabila terdapat ketidakpadanan antara definisi kunci asing dan jadual yang dirujuk.

Perihalan Ralat

Mesej Ralat:

ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)

Punca Kemungkinan

Seperti yang didokumenkan dalam dokumentasi MySQL pada kekangan kunci asing, rujukan kunci asing memerlukan pematuhan ketat kepada peraturan tertentu. Satu keperluan penting ialah kedua-dua jadual rujukan dan jadual rujukan mestilah jadual InnoDB.

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

Penyelesaian

Untuk menyelesaikan ralat ini, sahkan bahawa kedua-dua jadual rujukan (bar) dan jadual rujukan (foo) ditakrifkan sebagai jadual InnoDB. Jika tidak, ubahnya untuk menggunakan enjin InnoDB.

ALTER TABLE bar ENGINE=InnoDB;
ALTER TABLE foo ENGINE=InnoDB;

Selepas membuat perubahan ini, cuba cipta semula kekangan kunci asing antara kedua-dua jadual. Jika masalah berterusan, rujuk dokumentasi MySQL sekali lagi atau dapatkan bantuan di forum yang berkaitan atau daripada pakar MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 150: Ketakpadanan Kunci 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