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:
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!