本人初学 python ,希望有高人相助
我通过 SQL 查询出来的数据,对这个游标进行遍历,对每个遍历的数据做一个 SQL 的操作,然后很神奇的执行完 SQL 然后 for 循环就结束了,我把 SQL 执行的调用语句注释掉是可以全部遍历的,不知大家有没有这方面的经验
伪代码如下:
ms = mysql.Mysql()
result = ms.get_all_data()#全部游标数据
for data in result:
print("begin")
try:
...
sql_insert()
except ...:
....
print("continue")
在这种情况下,所有输出都正常输出,但只输出一次,没有进行遍历
假若把 sql_insert()的方法注释掉,两个输出都会一直遍历正常输出
sql_insert() 这个方法的大致内容如下
sql = "..."
self.cursor.excute(sql, (...))
self.conn.commit()
1
iewgnaw 2016-01-10 20:30:34 +08:00
获取和更新用了同一个游标吧
|
3
billgreen1 2016-01-11 14:09:56 +08:00
问一下你们的 sql 语句都是 raw sql 嘛?
|
4
HanSonJ OP @billgreen1 我因为刚学,所以写的都是原生的,今天找了 ORM ,慢慢一步来,正常都不会写 raw sql 吧
|
5
jamiesun 2016-01-12 09:53:17 +08:00
self.cursor 不是正确的姿势
|