繁体   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