V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · Jan 10, 2016 · 3513 views
    This topic created in 3760 days ago, the information mentioned may be changed or developed.

    本人初学 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 replies    2016-01-12 10:08:33 +08:00
    iewgnaw
        1
    iewgnaw  
       Jan 10, 2016
    获取和更新用了同一个游标吧
    HanSonJ
        2
    HanSonJ  
    OP
       Jan 11, 2016
    @iewgnaw 对!后来发现忘了发上来了,这么少信息你都能知道也算屌,犯 2 了
    billgreen1
        3
    billgreen1  
       Jan 11, 2016
    问一下你们的 sql 语句都是 raw sql 嘛?
    HanSonJ
        4
    HanSonJ  
    OP
       Jan 11, 2016
    @billgreen1 我因为刚学,所以写的都是原生的,今天找了 ORM ,慢慢一步来,正常都不会写 raw sql 吧
    jamiesun
        5
    jamiesun  
       Jan 12, 2016
    self.cursor 不是正确的姿势
    HanSonJ
        6
    HanSonJ  
    OP
       Jan 12, 2016
    @jamiesun 因为每次都要定义这个游标所以我干脆写成了全局变量了 (掩脸逃
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 02:33 · PVG 10:33 · LAX 19:33 · JFK 22:33
    ♥ Do have faith in what you're doing.