คำสั่งหลัก: INSERT IGNORE
INSERT IGNORE INTO yourTableName1 SELECT * FROM yourTableName2;
IGNORE จะข้ามแถวที่ซ้ำ Primary Key/Unique Key ไป
ตัวอย่างเต็มรูปแบบ
ตารางแรก (MergeDemo1)
mysql> create table MergeDemo1 (
-> id int, primary key(id), Name varchar(200)
-> );
mysql> insert into MergeDemo1 values(1,'John');
ตารางที่สอง (MergeDemo2)
mysql> create table MergeDemo2 (
-> id int, primary key(id), Name varchar(200)
-> );
mysql> insert into MergeDemo2 values(2,'David');
รวมตาราง
mysql> INSERT IGNORE INTO MergeDemo1 SELECT * FROM MergeDemo2; Query OK, 1 row affected (0.19 sec)
ตรวจสอบผลลัพธ์
mysql> select * from MergeDemo1;
+----+-------+ | id | Name | +----+-------+ | 1 | John | | 2 | David | +----+-------+ 2 rows in set (0.00 sec)
กรณีมี Primary Key ซ้ำ
ถ้าตารางทั้งสองมี id ซ้ำกัน IGNORE จะข้ามแถวซ้ำ ไม่เกิด Error
วิธีอื่น
INSERT ... ON DUPLICATE KEY UPDATE: อัปเดตค่าถ้าซ้ำREPLACE INTO: ลบแถวเก่า แทรกใหม่ (ต้องมี PK/Unique)