Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ไม่ใช้ INSERT IGNORE แสดง Error ตอนค่าซ้ำใน MySQL

โดยไม่ใช้ INSERT IGNORE และมี UNIQUE INDEX MySQL จะโยน Error 1062 เมื่อค่าซ้ำ

สร้างตารางและเพิ่ม UNIQUE INDEX

mysql> create table DemoTable ( FirstName varchar(100) ); 
Query OK, 0 rows affected (0.58 sec)

mysql> alter table DemoTable add unique index(FirstName); 
Query OK, 0 rows affected (0.50 sec)

INSERT โดยไม่มี IGNORE (Error ตอนซ้ำ)

mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Robert'); ERROR 1062 (23000): Duplicate entry 'Robert' for key 'FirstName'
mysql> insert into DemoTable values('Chris'); ERROR 1062 (23000): Duplicate entry 'Chris' for key 'FirstName'
mysql> insert into DemoTable values('Sam'); Query OK, 1 row affected (0.12 sec)

ข้อมูลที่บันทึกได้ (4 แถว)

mysql> select * from DemoTable;
+-----------+
| FirstName |
+-----------+
| Chris     |
| David     |
| Robert    |
| Sam       |
+-----------+
4 rows in set (0.00 sec)

สรุป: UNIQUE INDEX + ไม่มี IGNORE = Error หยุดการทำงาน | มี IGNORE = ข้ามแถวซ้ำ ไม่ Error