当前位置: 首页 > news >正文

SQLAlchemy -批量插入时忽略重复

PostgreSQL

有一个很棒的INSERT() ON CONFLICT DO NOTHING子句,您可以将其与 SQLAlchemy 一起使用:

from sqlalchemy.dialects.postgresql import insert
session.execute(insert(MyTable).values(my_entries).on_conflict_do_nothing())

MySQL

有类似的INSERT IGNORE子句,但 SQLAlchemy 对它的支持较少。幸运的是,根据这个答案,有一个解决方法,使用prefix_with:

session.execute(MyTable.__table__.insert().prefix_with('IGNORE').values(my_entries))

唯一的问题是my_entries需要是列到值映射的列表。
这意味着[{ ‘id’: 1, ‘name’: ‘Ringo’ }, { ‘id’: 2, ‘name’: ‘Paul’ }, …]

stackoverflow

建表记得唯一约束

http://www.lryc.cn/news/520983.html

相关文章:

  • 1月13日学习
  • Steam个人开发者注册备记
  • django在线考试系统
  • Laravel 中 Cache::remember 的基本用途
  • 前端进程和线程及介绍
  • OpenGL —— 基于Qt的视频播放器 - ffmpeg硬解码,QOpenGL渲染yuv420p或nv12视频(附源码)
  • Vue Router
  • 【黑灰产】人工查档业务产业链
  • 114周二复盘 (178)
  • day10_Structured Steaming
  • Python的秘密基地--[章节11] Python 性能优化与多线程编程
  • drawDB docker部属
  • 探索图像编辑的无限可能——Adobe Photoshop全解析
  • 【Vim Masterclass 笔记13】第 7 章:Vim 核心操作之——文本对象与宏操作 + S07L28:Vim 文本对象
  • Spring Boot教程之五十五:Spring Boot Kafka 消费者示例
  • 统计有序矩阵中的负数
  • 【6】Word:海名公司文秘❗
  • c语言 --- 字符串
  • LeetCode 热题 100_二叉树的最近公共祖先(49_236_中等_C++)(二叉树;深度优先搜索)
  • (三)c#中const、static、readonly的区别
  • 人工智能任务19-基于BERT、ELMO模型对诈骗信息文本进行识别与应用
  • 【C++】函数(下)
  • 一个使用 Golang 编写的新一代网络爬虫框架,支持JS动态内容爬取
  • 深入探讨 Vue.js 的动态组件渲染与性能优化
  • vulnhub靶场【IA系列】之Tornado
  • 简要认识JAVAWeb技术三剑客:HTMLCSSJavaScript
  • C# 修改项目类型 应用程序程序改类库
  • 卡通风格渲染
  • ubuntu各分区的用途
  • 理解STC15F2K60S2单片机的最小电路