Rumah >pangkalan data >tutorial mysql >Ralat MySQL 150: Mengapa Saya Tidak Boleh Mencipta Kunci Asing Ini?

Ralat MySQL 150: Mengapa Saya Tidak Boleh Mencipta Kunci Asing Ini?

Barbara Streisand
Barbara Streisandasal
2024-11-27 05:19:14814semak imbas

MySQL Error 150: Why Can't I Create This Foreign Key?

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!

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