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

如何为SELECT查询到的每个userID批量插入记录到user_offer_rels表

批量插入实现方案

直接使用MySQL原生的INSERT INTO ... SELECT语法即可完成全量批量插入,全程无需手动遍历处理单条数据,性能可支撑海量数据场景,实现代码如下:

INSERT INTO `user_offer_rels` (userID, permID, state)
SELECT DISTINCT userID, 4, 0
FROM `user_offer_rels`;

补充说明

  • 逻辑原理:SELECT查询返回的每一行结果会按顺序匹配INSERT指定的三个字段,固定值permID=4、state=0直接写在SELECT的字段列表中即可自动赋值到对应列。
  • 重复执行防冗余优化:如果担心SQL被重复执行生成脏数据,可以增加判断过滤掉已经存在对应权限的用户,调整后代码如下:
INSERT INTO `user_offer_rels` (userID, permID, state)
SELECT DISTINCT userID, 4, 0
FROM `user_offer_rels` uor
WHERE NOT EXISTS (
    SELECT 1 FROM `user_offer_rels` t 
    WHERE t.userID = uor.userID AND t.permID = 4
);

内容的提问来源于stack exchange,提问作者Roberto Sepúlveda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 22:27:01