Devdit
 

Duplicate entry for key PRIMARY คืออะไร แก้ไขอย่างไร

3.1K

ใช้คำสั่ง INSERT INTO เพื่อเพิ่มข้อมูลลงตาราง โดยใช้ฐานข้อมูล MySQL มี 2 columns คือ id กับ title โดย id เป็น primary key พอรันคำสั่ง SQL แล้วขึ้น Error ว่า #1062 - Duplicate entry '0' for key 'PRIMARY' ปัญหานี้ต้องแก้ไขอย่างไร คำสั่ง SQL ตามด้านล่าง

INSERT INTO book ( id, title ) VALUES
( NULL, 'PHP' ),
( NULL, 'Java' )
+-------+-----------+------+-----+---------+-------+
| Field | Type      | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| id    | int(11)   | NO   | PRI | NULL    |       |
| title | char(255) | NO   |     | NULL    |       |
+-------+-----------+------+-----+---------+-------+

 

วิธีแก้ไข

ปัญหานี้เกิดจาก field id ที่เป็น PRI หรือ Primary key ไม่ได้กำหนด AUTO_INCREMENT จึงทำให้เวลาเพิ่มข้อมูลด้วย NULL จึงเกิด Error Duplicate entry for key PRIMARY แก้ไขโดยเพิ่ม AUTO_INCREMENT ให้กับ field id ของตาราง book เขียนคำสั่งดังนี้

ALTER TABLE book MODIFY id INTEGER NOT NULL AUTO_INCREMENT
แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ