一次插入多行要点
- 写法:VALUES (值1...), (值2...), (值3...) 每组一行
- 一次插千行比插千次快很多,省网络与解析开销
- 单条 SQL 有长度上限 max_allowed_packet,超了要分批
- 中途报错默认整条回滚,不会只插进去一部分
- 配合 INSERT IGNORE 可跳过唯一键冲突的行
- 列名只写一次,值按相同顺序每组依次排开
一次插入多行示例
INSERT INTO product (name, price, created_at)
VALUES
('无线鼠标', 99.00, '2026-03-12'),
('显示器', 1299.00, '2026-03-13'),
('USB 集线器', 79.00, '2026-03-14');
避坑提醒:单批控制在 500 到 1000 行,既避开包大小上限,也不会让一条 SQL 锁表太久。