我正在try 使用SQLAlchemy模块(而不是SQL!)用python编写一个批量升级.
我在SQLAlchemy add上遇到以下错误:
sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL: Key (id)=(TEST1234) already exists.
我有一个名为posts
的表,在id
列上有一个主键.
在这个例子中,我已经在数据库中有一行id=TEST1234
.当我try db.session.add()
一个新的posts对象,将id
设置为TEST1234
时,我得到了上面的错误.我的印象是,如果主键已经存在,记录就会被更新.
How can I upsert with Flask-SQLAlchemy based on primary key alone? Is there a simple solution?
如果没有,我可以随时判断并删除任何具有匹配id的记录,然后插入新记录,但这对于我的情况来说似乎很昂贵,因为我不希望有太多更新.