Questions tagged «upsert»

对于与执行upsert(组合更新/插入)操作有关的问题。

6
如何执行UPSERT,以便在更新部分中可以同时使用新值和旧值
愚蠢但简单的示例:假设我有一个表“ Item”,其中保存了接收到的项目的总数。 Item_Name Items_In_Stock 项目名称是此处的主键。每当我收到数量为X的物料A时,如何实现以下目标。 如果该商品不存在,则为商品A插入一个新的摘要,并将库存商品设置为X;如果存在一条记录,其中库存商品为Y,则库存商品的新值为(X + Y) INSERT INTO `item` (`item_name`, items_in_stock) VALUES( 'A', 27) ON DUPLICATE KEY UPDATE `new_items_count` = 27 + (SELECT items_in_stock where item_name = 'A' ) 我的问题是我的实际表中有多个列。在更新部分中编写多个select语句是一个好主意吗? 我当然可以用代码完成,但是有更好的方法吗?

7
如何使用SqlAlchemy进行upsert?
我有一个记录,我想在数据库中存在该记录,如果它不存在,并且已经存在(存在主键),我希望将字段更新为当前状态。这通常被称为upsert。 以下不完整的代码段演示了有效的方法,但似乎过于笨拙(尤其是如果有更多的列)。什么是更好/最好的方法? Base = declarative_base() class Template(Base): __tablename__ = 'templates' id = Column(Integer, primary_key = True) name = Column(String(80), unique = True, index = True) template = Column(String(80), unique = True) description = Column(String(200)) def __init__(self, Name, Template, Desc): self.name = Name self.template = Template self.description = Desc def UpsertDefaultTemplate(): …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.