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

การ INSERT หลายแถวในคอลัมน์เดียวใน MySQL (Multiple Inserts)

ใช้ Syntax VALUES (val1), (val2), (val3), ... เพื่อ Insert หลายแถวในคำสั่งเดียว

ไวยากรณ์

INSERT INTO yourTableName(yourColumnName) VALUES ('value1'), ('value2'), ('value3'), ...;

ตัวอย่างการใช้งาน

สร้างตาราง:

mysql> create table InsertMultipleDemo (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> UserName varchar(10),
    -> UserRole varchar(20),
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (3.14 sec)

Insert หลายค่าในคอลัมน์ UserRole ทีเดียว:

mysql> INSERT INTO InsertMultipleDemo(UserRole) VALUES ('Admin'), ('Author'), ('Driver'), ('Guest');
Query OK, 4 rows affected (0.17 sec)

ผลลัพธ์ (4 แถวถูกสร้าง Id auto increment):

mysql> SELECT UserRole FROM InsertMultipleDemo;
+----------+
| UserRole |
+----------+
| Admin    |
| Author   |
| Driver   |
| Guest    |
+----------+

ข้อดี

  • เร็วกว่า INSERT แยกหลายคำสั่ง (Single round-trip)
  • Atomic - ทั้งสำเร็จหรือล้มเหลวทั้งหมด
  • ลด Network overhead

จำกัด: max_allowed_packet ต้องพอสำหรับขนาดคิวรี่ทั้งหมด