sqlalchemy 這原生sql中繫結list

2021-07-29 18:33:58 字數 360 閱讀 4560

這專案中有在一定範圍內進行更新的要求,所以直接使用sqlalchemy執行sql語句進行更新,但是發現list無法繫結到引數上。stack overflow上查詢到了解決方案,將list轉成tuple才能進行繫結

示例**

id_list=[1, 2, 3]

sql = text("update test set name='hello' where id in :id_list")

db.session.execute(sql, id_list=tuple(id_list))

示例**用的是flask-sqlalchemy

同時總結一下這orm中是如何使用in查詢的

SQLAlchemy 執行原生 SQL語句

使用 sqlalchemy 一般通過 session 物件 orm 方式運算元據庫。如果需要通過 原生 sql 語句運算元據庫,就需要跟 engine 和 connect 物件打交道。engine 物件包含資料庫連線池和資料庫方言,通過 create engine 函式來建立,engine 物件的 ...

django 鏈結多個資料庫 並使用原生sql

settings檔案如下 databases db1 查詢django的文件 from django.db import connection def my custom sql self with connection.cursor as cursor cursor.execute update ...

django 鏈結多個資料庫 並使用原生sql

通常在專案中我們需要連線多個資料庫,用來執行原生的sql 配置檔案settings.py databases db1 查詢django的文件 from django.db import connection def my custom sql self with connection.cursor ...