首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL db调用:不是所有在字符串格式化期间转换的参数

MySQL db调用:不是所有在字符串格式化期间转换的参数
EN

Stack Overflow用户
提问于 2018-02-04 13:16:09
回答 1查看 422关注 0票数 0

当我执行以下给定的代码时,我得到了错误not all arguments converted during string formatting

代码语言:javascript
复制
pro_title = "FSBT"
print "pro_title: " + pro_title
pro_id_query = "SELECT ID FROM projs WHERE pro_title=%s"
cursor.execute(pro_id_query, pro_title)
db.commit()
row = cursor.fetchone()
pro_id = None
if row is not None:
   pro_id = str(row[0])    
print "pro_id: " + pro_id

我也试过format

代码语言:javascript
复制
pro_id_query = "SELECT ID FROM projs WHERE title={}"
cursor.execute(pro_id_query.format(pro_title))

只有当我在'中使用{}时,它才能工作。

代码语言:javascript
复制
pro_id_query = "SELECT ID FROM projs WHERE title='{}'"
cursor.execute(pro_id_query.format(pro_title))

我不明白为什么INSERT %s**,查询与查询有很好的关系,而** SELECT 查询没有:

代码语言:javascript
复制
insert_query = "INSERT INTO projs (title, description) VALUES (%s, %s) ON DUPLICATE KEY UPDATE `title`=%s"
cursor.execute(insert_query, (pro_title, pro_description, pro_title))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-04 14:13:28

代码语言:javascript
复制
pro_title = "FSBI" 
pro_id_query = "SELECT * FROM %s"%(pro_title)
cursor = con.cursor() 
cursor.execute(q) 
result_list = result.fetchall()   
result_list[0][0] 
con.commit() 
con.close()

pro_id_query = cursor.fetchone() while row != False:
print ("The ID is : ", row[0])

*编辑

代码语言:javascript
复制
id = input("Id : ")
name = input("Name : ")
cursor = con.cursor()
cursor.execute(""" INSERT INTO names (id, name) VALUES("%s", "%s")"""
          %(id, name))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48608442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档