SQL Error: Duplicate entry ‘8’ for key ‘PRIMARY’

SQL Error: Duplicate entry ‘8’ for key ‘PRIMARY’

คุณเคยเจอ Error SQL ประมาณนี้ไหม
SQL Error นี้เกิดจากคำสั่งจำลองดังต่อไปนี้

insert into doe_category_menu(menu_id, menu_name, menu_icon) value(8, 'ลองบันทึก', 'fa-test');

คำสั่งนี้ก่อนที่จะ Run มีฐานข้อมูลดังนี้

เมื่อรันแล้ว จะเกิด Error ประมาณนี้

Error starting at line : 1 in command -
insert into doe_category_menu(menu_id, menu_name, menu_icon) value(8, 'ÅͧºÑ¹·Ö¡', 'fa-test')
Error at Command Line : 1 Column : 1
Error report -
SQL Error: Duplicate entry '8' for key 'PRIMARY'

SQL Error นี้เกิดจากอะไร??

เมื่อลองอ่าน Error นี้ดูจะเห็นคำว่า Duplicate entry ซึ่งถ้าแปลเป็นไทยแบบตรง ๆ ก็คือการนำรายการเข้านั้นเกิดการซ้ำกัน ถ้าดูต่อมาจะเห็นคำว่า 8 กับ PRIMARY ซึ่งก็คือเลข 8 เป็นข้อมูลซ้ำใน PRIMARY

ถ้าเรามาดูที่แถบ Index Information ในโปรแกรม SQL Developer จะเห็นว่ามี Primary ที่คอลัมน์ menu_id อยู่

ดังนั้น Error นี้ก็เกิดจากการนำเข้าข้อมูลที่ซ้ำกันของ PRIMARY คอลัมน์ menu_id ข้อมูลคือ 8

วิธีการแก้ไข Error นี้ก็สามารถทำได้หลายวิธี เช่น
– ลบข้อมูลเก่าทิ้งแล้วนำข้อมูลนี้เข้า
– เปลี่ยนข้อมูลนี้จาก menu_id = 8 เป็นเลขอื่นที่ไม่ซ้ำกัน

เพียงแค่นี้เราก็สามารถแก้ไขปัญหา SQL Error: Duplicate entry ‘8’ for key ‘PRIMARY’ ได้แล้ว

Add a Comment