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

วิธีเพิ่มหลายแถวด้วยคำสั่ง MySQL เดียว

รูปแบบคำสั่ง INSERT หลายแถว

ใน MySQL คุณสามารถเพิ่มข้อมูลหลายแถวพร้อมกันได้ด้วยคำสั่ง INSERT เพียงครั้งเดียว โดยคั่นชุดค่าด้วยเครื่องหมายจุลภาค (,) รูปแบบคือ:

INSERT INTO your_table_name (col1, col2, ...) 
VALUES 
(value1, value2, ...),
(value1, value2, ...),
(value1, value2, ...);

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

1. สร้างตารางผู้ใช้

CREATE TABLE MultipleRowsInsert (
    UserId INT,
    UserName VARCHAR(200)
);

2. เพิ่ม 5 แถวพร้อมกัน

INSERT INTO MultipleRowsInsert (UserId, UserName) VALUES 
(100, 'Bob'),
(101, 'Smith'),
(102, 'Carol'),
(104, 'David'),
(105, 'Sam');

3. ตรวจสอบผลลัพธ์

SELECT * FROM MultipleRowsInsert;

ผลลัพธ์ที่ได้

UserIdUserName
100Bob
101Smith
102Carol
104David
105Sam

ข้อดีและข้อควรระวัง

  • ⚡ เร็วกว่า การ INSERT ทีละแถว (ลด Round-trip ไป Database)
  • 📦 Atomic - ทั้งชุดสำเร็จหรือล้มเหลวร่วมกัน (ถ้าไม่ได้ใช้ Transaction แบบแยก)
  • 📏 มีข้อจำกัด max_allowed_packet (ค่าเริ่มต้น ~4MB-64MB)
  • 🔢 คืนค่า LAST_INSERT_ID() ของแถวแรกเท่านั้น
  • ✅ ใช้ INSERT IGNORE หรือ ON DUPLICATE KEY UPDATE ได้เหมือนเดิม