Rumah >pangkalan data >tutorial mysql >Ralat MySQL 150: Mengapa Saya Tidak Boleh Mencipta Kunci Asing Ini?
MySql Encountering Error 150: Deciphering Foreign Key Woe
Apabila cuba mencipta jadual dengan kunci asing merujuk jadual lain, pembangun mungkin menghadapi ralat 150, membingungkan mereka dengan mesej samarnya. Artikel ini menyelidiki punca ralat ini dan menyediakan penyelesaian.
Seperti yang diperincikan dalam dokumentasi MySQL, ralat 150 berlaku apabila mencipta semula jadual yang sebelum ini digugurkan tidak mematuhi kekangan kunci asing yang merujuknya. Khususnya, jadual mesti mengekalkan nama lajur, jenis dan indeks yang sama pada kekunci yang dirujuk seperti semasa ia dibuat pada asalnya.
Untuk menyelesaikan isu ini, pastikan jadual yang mengandungi kunci asing (dalam kes ini, "foo") juga dicipta sebagai jadual InnoDB. Mengikut dokumentasi MySQL, kedua-dua jadual yang terlibat dalam hubungan kunci asing mestilah jadual InnoDB dan bukan jadual sementara.
Oleh itu, untuk membetulkan ralat, cuba cipta semula jadual "foo" sebagai jadual InnoDB menggunakan yang berikut pertanyaan:
CREATE TABLE foo ( id INT PRIMARY KEY ) ENGINE = InnoDB;
Setelah jadual "foo" dicipta sebagai jadual InnoDB, anda sepatutnya berjaya mencipta jadual "bar" dengan rujukan kunci asing tanpa menemui ralat 150.
Atas ialah kandungan terperinci Ralat MySQL 150: Mengapa Saya Tidak Boleh Mencipta Kunci Asing Ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!