记录下Sqlalchemy遇到的问题,不定时更新。


设置主键为非自增

sqlalchemy 在sql server中默认主键是自增的,如果在数据库设置的主键不是自增的,这个时候插入就会出现异常:

提示does not have the identity property

这个时候需要在主键中设置autoincrement=False,显示表示非自增,才能正常写入


 不要使用in_查询一个空的可迭代对象

例如:

db.session.query(Object).filter(Object.Id.in_(ids)).delete(synchronize_session=False)

当ids为空的可迭代的对象时,就会出现如下警告,提示有性能问题

SAWarning: The IN-predicate on "xxxx.Id" was invoked with an empty sequence. This results in a contradiction, which nonetheless can be expensive to evaluate.  Consider alternative strategies for improved performance.

在创建这个语句之前做个判断,判断ids是不是为空。

转载于:https://www.cnblogs.com/blackmatrix/p/6907156.html

sqlalchemy 踩过的坑相关推荐

  1. mac git使用与配置踩过的坑

    #mac git使用与配置踩过的坑 标题mac配置git ssh密钥 参考链接mac配置git ssh key go get安装失败的解决方法 go get约等于git clone+go instal ...

  2. java项目经理也就那么回事_网易PM | 我们之前在需求评审环节踩过的坑...

    原本觉得需求评审也就那么回事儿,大家应该都差不多这么做的,没啥好说的.不过前不久有一位同学问起来我们是怎么做需求评审的,然后发现有一些团队的做法可能还不大一样,他们也还踩着我们之前踩过的坑,他们还在探 ...

  3. Redis 集群部署及踩过的坑

    本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑. 安装准备 centos版本:6.7 redis版本:3.2.3 安装方 ...

  4. AWS Device Farm介绍及Appium踩过的坑

    本文记录了在AWS Device Farm上进行Appium TestNG进行手机应用UI自动化测试的流程及遇到的问题,及具体的解决方法.同时记录了使得测试脚本更稳定的一些代码写法. Device F ...

  5. arcgis python 二次开发_我在部署ArcGIS API for Python时踩到的坑

    ArcGIS API for Python相比于其他ESRI产品,还是很年轻.我在部署时踩到了坑,网上也找不到解决方法,很是煞风景,也很打击学习的积极性. 今天回顾一下,做个总结吧.一方面自己备忘,另 ...

  6. 开发路上踩过的坑要一个个填起来————持续更新······(7月30日)

    欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...

  7. git服务器安装位置,Linux服务器安装gitlabe-runner,并部署包到指定目录,还有踩的一些坑~~...

    [TOC] 前言:上篇文章讲解了如何安装一个本地runner,然后用本地runner发布本地包到Linux,但这会有一个问题,在本地runner用scp向Linux发送文件,会造成服务器上的文件越来越 ...

  8. logstash导入数据到Elasticsearch踩过的坑详解

    一.前言 这篇主要记录在导入数据时候踩到的坑,这些坑总共花费我小一天的时间,记录一下. 二.正文 1.logstash显示在导入数据,ES也成功新建了索引,但是没数据 最开始遇到的是这个坑,logst ...

  9. 学python就业要看哪些书-编程0基础自学Python,踩完这些坑,我才成功就业!

    " 0基础小白学Python的路程不易,但总有一些思路和方法值得借鉴,知道这些能让我们少走很多弯路. 今天我们就来分享2位前辈的学习经验和方法. 零基础学编程的方法 回忆一下我自己学习计算机 ...

最新文章

  1. 中国光大集团去年营收1617亿元 同比增长19%
  2. 练习markdown语法
  3. ADB命令行控制界面开关
  4. 恢复删除的Linux文件
  5. SpringCloud LoadBalancerClient 负载均衡原理
  6. centos 安装 redmine 2.1.4
  7. 记一次Linux服务器因redis漏洞的挖矿病毒入侵
  8. centos 卸载ffmpeg_CentOS Linux 操作系统安装 FFmpeg 教程
  9. LeetCode MySQL 612. 平面上的最近距离
  10. 2018-2019-2 实验四 Android程序设计
  11. 1.4、设置 SpringApplication 主启动类
  12. spyder里import tensorflow报错显示没有tensorflow模块解决
  13. 共轭梯度法matlab程序精确线搜索,具有精确线性搜索的改进共轭梯度法
  14. html 判断输入的是手机号码,用js验证手机号码格式是否正确
  15. 温习Java和基础汇总
  16. 网易称暴雪离婚不离身;苹果发布 M2 Pro 和 M2 Max 芯片;滴滴出行 App 已重新上架安卓应用商店 | 极客头条...
  17. Moonriver Network与Calamari Network完成XCM集成
  18. win10系统升级没有声音?老司机教你怎么重新安装声卡驱动
  19. 华为Atlas200dk使用第四步------配置CANNtoolkit环境
  20. matlab计算sinx近似值,《Matlab与数学实验》期末作业

热门文章

  1. uboot 引导linux内核 参数mem=size,Uncompressing Linux..... done, booting the kernel.
  2. MYSQL数据库跨服务器实时同步更新实践----文献阅读(污水管网水质预测)
  3. OpenGL绘制三角形
  4. 程序员必备狂拽炫酷吊炸天的动效神器
  5. 美团leaf生成分布式唯一id
  6. 用TMS320c54x汇编语言求方差,TMS320C54x的指令.pdf
  7. php ssl 465,帝国CMS邮件无法发送 SSL465端口无法发送的问题解决办法
  8. SpringBoot整合Swagger2
  9. 网盘副业项目,睡后躺赚,日入200+
  10. 9款好看又实用的手机APP UI模板