วิธีแก้-Error-Foreign-key-constraint-is-incorrectly-formed

วิธีแก้ Error Foreign key constraint ใน MySQL

วิธีแก้ Error Foreign key constraint ใน MySQL

วิธีแก้ Error Foreign key constraint is incorrectly formed
วิธีแก้ Error Foreign key constraint is incorrectly formed
สาเหตุของ error เกิดจากการที่เราพยายามที่จะสร้าง table หรือเพิ่ม row data เข้าไปในฐานข้อมูลแต่รูปแบบของข้อมูลในตารางนั้น มีบาง field ที่ถูกกำหนดให้มีความสำพันธ์กับตารางอื่นในฐานข้อมูลเดียวกัน
หรืออีกอย่างหนึ่งก็คือ ในตารางที่เราพยายามจะสร้างนั้นมีการสร้าง Foreign key ซึ่งเป็น Primary Key ของตารางอื่นที่สัมพันธ์กันอยู่ เพื่อป้องกันข้อผิดพลาด ระบบจึงแจ้ง error และไม่ทำงานคำสั่ง MySQL ที่เราเขียนไป

วิธีแก้เบื้องต้น

  • กรณีใช้ phpmyadmin ด้วยคำสั่ง MySQL Query ให้เอาติ๊กถูกที่ Enable foreign key checks ออก หรือใช้คำสั่ง MySQL



    วิธีแก้-Error-Foreign-key-constraint-ใน-MySQL-1

  • กรณีใช้ phpmyadmin แบบ Import ข้อมูล ก็ให้เอาติ๊กถูกออกที่ Enable foreign key checks


    วิธีแก้-Error-Foreign-key-constraint-ใน-MySQL-2

ถ้าใช้คำสั่ง FOREIGN_KEY_CHECKS = 0; แล้วยังไม่สามารถ create table หรือ insert ข้อมูลได้ให้ลองยกเลิก FOREIGN KEY ด้วยคำสั่งด้านล่าง

ถ้าเป็นการ import ไฟล์ .sql เข้ามาให้เปิดไฟล์และลบคำสั่ง add key ทิ้้งไปทั้งหมด ตัวอย่างตามด้านล่างคือลบคำสั่ง ADD KEY pet_uid (pet_uid) ออกไป

error นี้เกิดขึ้นเพื่อป้องกันข้อผิดพลาดของข้อมูลระหว่างตารางที่อาจจะไม่ตรงกัน เช่น การ insert ข้อมูลลงไปใน field ที่เป็น foreign key ซึ่งเป็นข้อมูลที่ไม่มีอยู่จริงในตารางที่เป็น primary key ระบบจะแจ้ง error เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดของข้อมูลนั่นเองครับ

กระทู้ใกล้เคียง

วิธีทำ Website / MySQL ให้โหลดโคตรเร็วและรองรับคนป... วิธีทำ Website / MySQL ให้โหลดโคตรเร็วและรองรับคนปริมาณมาก ๆ วิธีทำ Website / MySQL ให้โหลดโคตรเร็วและรองรับคนปริมาณมาก ๆ ถ้าโจทย์คือการทำเว็บไซ...
บันทึก Emoji ด้วย MySQL ได้ทั้งใน iOS และ Android... บันทึก Emoji ด้วย MySQL ได้ทั้งใน iOS และ Android บันทึก Emoji ด้วย MySQL ได้ทั้งใน iOS และ Android สังเกตุไหมครับว่า keyboard บนมือถือทั้ง iOS ...
Web Inspect วิธีตรวจสอบเว็บไซต์ ( Debug ) บน iOS R... วิธีการตรวจสอบเว็บไซต์ หาปัญหาที่ทำให้เว็บไซต์ไม่สามารถทำงานได้ หรือที่เรียกว่าการ debug โดยส่วนใหญ่แล้วในขั้นตอนการพัฒนาเราใช้วิธีการ Web Inspec...
วิธีใช้ Google Lighthouse ตรวจสอบคุณภาพเว็บไซต์... วิธีใช้ Google Lighthouse ตรวจสอบคุณภาพเว็บไซต์ การพัฒนาเว็บไซต์ในปัจจุบันนั้น นอกจากเรื่องความเร็ว และการพัฒนาให้รองรับการแสดงผลในหลากหลาย device ...