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