[英]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.