mysql中批量插入语句,前面已经写入表的不写入,没有写入的才写入,MySQL语句要怎么写?

mysql中批量插入语句,前面已经写入表的不写入,没有写入的才写入, MySQL语句要怎么写?

SQL yzmXrTpA3762457 发布于 2023-2-23 17:23
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
lxy2Lv6中级互助
发布于2023-2-23 17:25

把这个数据先插入一个临时表,然后通过临时表和已有的表去判断再插入没有的数据

最佳回答
0
weibwLv7高级互助
发布于2023-2-23 19:17

1、给表一个主键

2、根据主键进行插入/更新

最佳回答
0
snrtuemcLv8专家互助
发布于2023-8-22 19:12(编辑于 2023-8-22 19:13)

在MySQL中,要实现批量插入并避免重复插入,可以使用以下步骤:

1、创建一个临时表,结构与目标表相同,但不需要主键或其他唯一约束。

CREATE TEMPORARY TABLE temp_table LIKE target_table;

2、插入需要插入的数据到临时表中,这里可以使用INSERT IGNORE INTO语句,它会忽略已经存在的记录,只插入没有重复的记录。

INSERT IGNORE INTO temp_table (column1, column2, ...) VALUES (value1, value2, ...);

3、如果插入的数据量较大,可能需要多次执行上述插入语句,直到所有需要插入的数据都插入到临时表中。

4、确认临时表中已经包含了所有需要插入的数据后,将临时表中的数据插入到目标表中。

INSERT INTO target_table SELECT * FROM temp_table;

5、最后,删除临时表。

DROP TEMPORARY TABLE temp_table;

通过以上步骤,可以实现批量插入数据并避免重复插入的目标。请注意,上述示例中的表名和列名只是示例,实际使用时需要根据你的数据结构进行相应的修改。

  • 2关注人数
  • 233浏览人数
  • 最后回答于:2023-8-22 19:13
    请选择关闭问题的原因
    确定 取消
    返回顶部