V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
HanSonJ
V2EX  ›  Python

求助 pymysql 的正确使用方法

  •  
  •   HanSonJ ·
    HanSon · 2016-01-10 18:57:12 +08:00 · 3146 次点击
    这是一个创建于 3242 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人初学 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()
    
    6 条回复    2016-01-12 10:08:33 +08:00
    iewgnaw
        1
    iewgnaw  
       2016-01-10 20:30:34 +08:00
    获取和更新用了同一个游标吧
    HanSonJ
        2
    HanSonJ  
    OP
       2016-01-11 00:21:01 +08:00
    @iewgnaw 对!后来发现忘了发上来了,这么少信息你都能知道也算屌,犯 2 了
    billgreen1
        3
    billgreen1  
       2016-01-11 14:09:56 +08:00
    问一下你们的 sql 语句都是 raw sql 嘛?
    HanSonJ
        4
    HanSonJ  
    OP
       2016-01-11 15:40:10 +08:00
    @billgreen1 我因为刚学,所以写的都是原生的,今天找了 ORM ,慢慢一步来,正常都不会写 raw sql 吧
    jamiesun
        5
    jamiesun  
       2016-01-12 09:53:17 +08:00
    self.cursor 不是正确的姿势
    HanSonJ
        6
    HanSonJ  
    OP
       2016-01-12 10:08:33 +08:00
    @jamiesun 因为每次都要定义这个游标所以我干脆写成了全局变量了 (掩脸逃
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:34 · PVG 02:34 · LAX 10:34 · JFK 13:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.