You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL是否支持通过乘数字语法批量插入多条相同表数据

结论

MySQL 不支持你写的VALUES (...) * 3这种语法,该写法完全不符合MySQL的SQL规范,执行时会直接报语法错误,无法实现一次性插入3条相同数据的效果。

MySQL的INSERT语法规则中,乘法运算符仅支持数值类表达式计算,不能作用于整行值来实现重复行生成,VALUES关键字后仅允许传入逗号分隔的、和字段一一对应的行值集合。

批量插入重复数据的可行方案

根据需要插入的重复次数,可以选择不同的实现方式:

  • 重复次数较少(10次以内):直接在VALUES后拼接多组相同的行值即可,比如插入3条相同数据的写法为:
INSERT INTO `test`(`name`, `test1`, `other_status`, `status`) 
VALUES 
('string', 'KPrBf9', 1, 0),
('string', 'KPrBf9', 1, 0),
('string', 'KPrBf9', 1, 0);
  • 重复次数较多(几十到上百次):可以用递归CTE(MySQL 8.0及以上版本支持)自动生成指定数量的重复行,不需要手动拼接大量重复值,比如插入100条相同数据的写法为:
INSERT INTO `test`(`name`, `test1`, `other_status`, `status`)
WITH RECURSIVE num_seq AS (
    SELECT 1 AS cnt UNION ALL SELECT cnt + 1 FROM num_seq WHERE cnt < 100
)
SELECT 'string', 'KPrBf9', 1, 0 FROM num_seq;

如果是MySQL 5.x版本不支持CTE,也可以借助内置的系统表(如mysql.help_topic)的自增主键生成连续序号,实现同样的多行生成效果。

  • 重复次数极多(千次以上):可以编写存储过程,通过循环语句批量执行插入,性能比纯SQL拼接更好。

内容的提问来源于stack exchange,提问作者Elsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:10:09