python - sqlalchemy,插入尝试除块
问题描述
我有一个查询,我打算用 try-except 块插入,这样我就可以忽略所有未通过某个约束的查询,即IntegrityError
.
with sql_engine.begin() as cn:
sql = """INSERT INTO table1 (m_id, pick_on)
SELECT t.m_id, t.pick_on
FROM temp_table t
WHERE NOT EXISTS
(SELECT 1 FROM table1 f
WHERE (t.m_id = f.m_id
OR (t.m_id IS NULL AND f.m_id IS NULL))
AND t.pick_on = f.pick_on)"""
try:
cn.execute(sql)
except:
print("Unexpected error:", sys.exc_info()[0])
print(sql)
pass
但这不会将所有记录插入到table1
. 为什么?
解决方案
推荐阅读
- php - PHP 根据 REQUEST_URI 返回内容
- ios - 我的 Main.storyboard 中的每个屏幕都代表 Swift 中的一个场景吗?
- mysql - 如何在mysql全文搜索中排除匹配100%的行?
- reactjs - 在 ag 网格中突出显示具有不同颜色的上下文菜单行
- python - 如何用棉花糖序列化嵌套对象?
- c - C - 二维数组未用零初始化
- vue.js - 以 JSON 格式提取 Vue.js 应用程序的 10 月页面缩进
- javascript - 将对象转换为数组的最简单方法
- reactjs - 错误:混合内容,在 Github 上部署 React 应用程序时
- git - Heroku 在部署时找不到我的文件,但它在本地工作