相关疑难解决方法(0)

sqlalchemy简单的插入或更新方式?

我有一系列新对象.它们看起来都像这样:

Foo(pk_col1 = x,pk_col2 = y,val ='bar')

其中一些是存在的Foo(即只有val与db中的行不同)并且应该生成更新查询.其他人应该生成插入.

我可以想到几种方法,最好的方式:

pk_cols = Foo.table.primary_key.keys()
for f1 in foos:
    f2 = Foo.get([getattr(f1, c) for c in pk_cols])
    if f2 is not None:
        f2.val = f1.val # update
        # XXX do we need to do session.add(f2) 
        # (or at least keep f2 alive until after the commit?)
    else:
        session.add(f1) # insert

 session.commit()
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法?

python sqlalchemy

39
推荐指数
1
解决办法
4万
查看次数

SQLAlchemy INSERT IGNORE

如何在表中插入多个数据记录而忽略重复项.我正在使用SQLAlchemy.

谢谢!

python sqlalchemy ignore insert

24
推荐指数
1
解决办法
1万
查看次数

当存在重复条目时,使用SQLAlchemy/SQLite3高效插入多行

我正在使用SQLAlchemy将多行插入到SQLite3表中,并且这些条目通常已经在表中.一次插入一行非常慢,并捕获异常并在行已存在时继续.有没有一种有效的方法来做到这一点?如果该行已经存在,我想什么也不做.

python sqlite sqlalchemy

5
推荐指数
1
解决办法
2504
查看次数

标签 统计

python ×3

sqlalchemy ×3

ignore ×1

insert ×1

sqlite ×1