for 循环使用 mysql 语句
for loop using mysql statement
我在 python 中使用 pymysql 来处理 mysql 服务器,我需要一些不同列的交叉引用。
为此,我在 python 中应用了一个 for 循环,
for i in range(10):
sqlstat = 'select refs from `pcite` where id = id_paper(i) ;'
但这行不通。问题似乎是迭代器 i。有解决办法吗?
正如我在评论中所说,这与循环无关。只是你的代码不是代码,而只是一个字符串。如果你需要一个字符串来包含调用函数的结果,那么你需要在字符串之外进行调用,并对结果进行插值:
sqlstat = 'select refs from `pcite` where id = {};'.format(id_paper(i))
但是请注意,由于这是一个 SQL 语句,您根本不应该插入值,而是将它们传递给执行方法:
sqlstat = 'select refs from `pcite` where id = %s;'
cursor.execute(sqlstat, [format(id_paper(i)])
我在 python 中使用 pymysql 来处理 mysql 服务器,我需要一些不同列的交叉引用。
为此,我在 python 中应用了一个 for 循环,
for i in range(10):
sqlstat = 'select refs from `pcite` where id = id_paper(i) ;'
但这行不通。问题似乎是迭代器 i。有解决办法吗?
正如我在评论中所说,这与循环无关。只是你的代码不是代码,而只是一个字符串。如果你需要一个字符串来包含调用函数的结果,那么你需要在字符串之外进行调用,并对结果进行插值:
sqlstat = 'select refs from `pcite` where id = {};'.format(id_paper(i))
但是请注意,由于这是一个 SQL 语句,您根本不应该插入值,而是将它们传递给执行方法:
sqlstat = 'select refs from `pcite` where id = %s;'
cursor.execute(sqlstat, [format(id_paper(i)])