簡體   English   中英

Psycopg2插入有條件

[英]Psycopg2 Insert into with conditions

我在Postgres有這張桌子

 ID|     | IP             | Remote-as  | IRR-Record |   
 1 |     | 192.168.1.1    |100         |            |        
 2 |     | 192.168.2.1    |200         |            |       
 3 |     | 192.168.3.1    |300         |            |        
 4 |     | 192.168.4.1    |400         |            |      

我想為每個IP地址添加IIR記錄。 IIR記錄位於變量內。

c = conn.cursor()
query = 'select * From "peers"'
c.execute(query)

 for row in c:
       c.execute('''INSERT INTO "peers" ("IRR- 
   Record") VALUES(variable)
       conn.commit()

該代碼不起作用,因為我在表末尾插入了IIR-Record。

 ID|     | IP             | Remote-as  | IRR-Record |   
 1 |     | 192.168.1.1    |100         |            |        
 2 |     | 192.168.2.1    |200         |            |       
 3 |     | 192.168.3.1    |300         |            |        
 4 |     | 192.168.4.1    |400         | 
                                       |Variable
                                       |Variable
                                       |Varibale

任何想法!!!!

您需要使用UPDATE查詢而不是INSERT

UPDATE peers
SET IRR-Record = <<MYVALUE>>
WHERE ID = <<MYID>>

我認為是這樣的:

for row in c:
    c.execute('UPDATE peers SET "IRR-Record"=%s WHERE ID=%s', (record_var, id_var))

編輯:按照@Devasta的答案使用UPDATE sql語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM