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

MySQL如何为去重后的customer_id批量插入相同数据?

批量插入去重后的customer_id对应数据到members表

可以使用INSERT INTO ... SELECT语法实现批量插入,无需逐个执行INSERT语句。

核心SQL语句

INSERT INTO `members` (`customer_id`, `order_id`, `description`, `amount`)
SELECT 
    `customer_id`,
    0 AS `order_id`,
    'add same value example' AS `description`,
    100 AS `amount`
FROM `members`
GROUP BY `customer_id`
HAVING COUNT(*) = 1;

说明

  • 查询部分:通过SELECT获取去重后的customer_id,同时将固定值(0、'add same value example'、100)作为其他字段的值返回。
  • 插入部分:INSERT INTO指定目标表和字段,直接将SELECT的结果批量插入到表中。
  • 优化点:原查询使用SELECT *会返回所有列,这里只需要customer_id,减少不必要的数据传输,提升执行效率。

补充:获取所有唯一customer_id的简化写法

如果需求是获取所有不重复的customer_id(包括原表中出现多次的,仅取一次),可以改用DISTINCT简化查询:

INSERT INTO `members` (`customer_id`, `order_id`, `description`, `amount`)
SELECT 
    DISTINCT `customer_id`,
    0,
    'add same value example',
    100
FROM `members`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:13:12