peewee 實現 有則更新,無則插入

2021-09-29 10:16:59 字數 1200 閱讀 5466

在本地的資料庫測試了,以下是測試語句及結果:

表結構

class

測試**

def

upsert_func()

: rowid =

(practice

.insert(name=

'aka'

, ***=

'male',id

=1).on_conflict(

preserve=

[practice.***, practice.name]

).execute())

print

(rowid)

執行**後結果:

接著,我們想修改id=1的,把它名字改為 hello.

def

upsert_func()

: rowid =

(practice

.insert(name=

'hello'

, ***=

'male',id

=1).on_conflict(

preserve=

[practice.***, practice.name]

).execute())

print

(rowid)

執行**結果:

從中我們可以看到這個**確實實現有則更新,無則插入的操作,趕緊來試試看吧.

mybatis mysql 有則更新,無則插入

建立表 在這裡插入drop table if exists virtualmachines create table virtualmachines name varchar 100 not null comment 虛擬機器名稱 status varchar 100 default null co...

MySql實現無則插入有則更新的解決方案

某些場景會有這樣的需求 無記錄則插入,有記錄則更新。例如 新增使用者,以身份證號碼作為唯一身份標識,插入時若先查詢是否存在記錄再決定插入還是更新,在高併發情況下必然存在問題。本文提供三種解決方案。無論通過synchronized鎖 reentranlock鎖還是分布式鎖,都可以解決該問題。缺點是,加...

sql實現無則新增有則修改(xml)

批量新增 親測 addbatch insert into student username,password,name,code value list item stu separator 批量新增 有則修改,無則插入,親測 addbatch1 insert into student usernam...