簡體   English   中英

在python中將值插入db2表的代碼

[英]code to insert values into db2 table in python

我想使用 Python 代碼將變量值插入到 db2 表中

  id = input("table id:   ")
  tabname = input("Enter Table name:   ")
  descr = input("Enter description :   ")
  inser_sql = "INSERT INTO schema.table VALUES (?, ?, ?)",(id, tabname, descr)
        stmt = ibm_db.prepare(conn, inser_sql)
        ibm_db.execute(stmt)

這段代碼給了我錯誤:

stmt = ibm_db.prepare(conn, inser_sql)   

例外:語句必須是字符串或 unicode

假設你的表是這樣定義的:

"create table myschema.mytable(id int, tabname varchar(10), description varchar(10))"

我了解您的意圖是使用准備好的語句和參數標記將特定行插入其中。 跳過輸入部分:

In [14]: id = 1
In [15]: tabname = 'TAB'
In [16]: descr = 'my desc'

你只需要先准備語句,稍后綁定參數,然后執行:

insert_sql = "INSERT INTO  myschema.mytable VALUES (?, ?, ?)"
prep_stmt = ibm_db.prepare(conn, insert_sql)
ibm_db.bind_param(prep_stmt, 1, id)
ibm_db.bind_param(prep_stmt, 2, tabname)
ibm_db.bind_param(prep_stmt, 3, descr)
ibm_db.execute(prep_stmt)

確切的答案將取決於您使用的特定 DB2 庫,但保存您的查詢的變量應該只是一個普通字符串。

執行語句時,您可能需要將參數傳遞給它:

inser_sql = "INSERT INTO schema.table VALUES (?, ?, ?)"
stmt = ibm_db.prepare(conn, inser_sql)
ibm_db.execute(stmt, (id, tabname, descr))
#                    ^^^^^^^^^^^^^^^^^^^^

暫無
暫無

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

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