postgresql 實現插入 更新操作

2021-09-21 02:10:07 字數 1114 閱讀 8370

insert into "sip_data"."sip_ip_2m_data" (time_first,time_last,ip,ip_port,port)

values('2019/4/6 15:14:29','2019/4/6 14:59:28','203.190.77.198','203.190.77.198|42560','42560')

on conflict(ip_port) 

do update set time_last = '2019/6/4 15:14:29'

alter table "sip_data"."sip_ip_2m_data" add constraint id_cons unique(ip_port);

參考 :

mongo 實現 實現插入 更新操作

> db.task2_no1.update(,:})

2019-05-22t11:07:33.635+0800 e query [thread1] syntaxerror: missing : after property id @(shell):1:49

> db.task2_no1.update(,})

writeresult()

>

>

> db.task2_no1.find()

>

>

> db.task2_no1.update(,})

writeresult()

>

> db.task2_no1.find()

>

>

> db.task2_no1.update(,})

writeresult()

>

> db.task2_no1.find()

>

> db.task2_no1.update(,},)

writeresult()

>

> db.task2_no1.find()

>

db.task2_no1.update(,},)

加上$set表示符合條件更新當前  document內部更新或新增

upsert為true表示沒有符合的文件直接新增文件

謝謝華傑的補充!

postgresql中根據唯一索引實現更新或新增

postgresql提供的方法 on conflict do update保證乙個原子的 insert或者 update結果。在沒有無關錯誤的 前提下,這兩種 結果之一可以得到保證,即使在很高的併發度也能保證。這也可以被稱作 upsert update 或 insert 但是這個方法和oracle中...

postgresql 迴圈插入資料

plsql直接迴圈插資料當然比 裡迴圈插要快很多,只是pl sql的語法不怎麼統一,不同的資料庫語法上有些細微的差異,很頭疼 postgresql 迴圈插入資料 do declare v idx integer 1 begin while v idx 10 loop v idx v idx 1 in...

Windows下實現PostgreSQL自動備份

本文介紹怎樣建立乙個windows批處理檔案來自動備份postgresql資料庫。背景 在我工作上乙個使用postgresql資料庫的專案上需要乙個自動化系統來每天執行備份。經過一番研究決定通過建立乙個windows批處理檔案並新增到windows計畫任務中來實現。下面是具體步驟 怎樣配置 第一步 ...