【问题标题】:Can't execute mysql insert using pythons mysqldb无法使用 pythons mysqldb 执行 mysql insert
【发布时间】:2011-10-07 06:41:05
【问题描述】:

这是我关于stackoverflow的第一个问题! 我目前正在编写一个 Steam 社区爬虫,它会爬取 Steam 配置文件并保存拥有的游戏、Steam 名称、朋友等内容... 但是当我尝试运行插入命令时,它什么也不做。

 if not self.check_user('games', id):
  print "insert"
  self.cursor.execute("INSERT INTO games (userid) VALUES(%s);" % id)

程序显示“插入”,但执行命令既不抛出异常,也不向数据库插入一些东西。 此外,不会捕获最终发生的异常。例如,当我将查询更改为“INSERT INTO games (useridd)”时,程序退出并且我看到了异常。

应用程序是多线程的,但在执行之前获取,所以我看不出有任何问题。

【问题讨论】:

    标签: python mysql mysql-python


    【解决方案1】:
    1. 在命令末尾添加“COMMIT”

      例如:

      cursor.execute("INSERT INTO games (userid) VALUES(%s);COMMIT;" % id)
      
    2. 通过添加第二行设置自动提交

      db = MySQLdb.connect(user='username', db=dbName,) # exmaple
      db.autocommit(1) # enable auto commit
      
    3. 事务后添加 commit()

      db.commit()
      

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-02
        • 1970-01-01
        • 2012-06-08
        • 1970-01-01
        • 2011-06-02
        • 2014-06-20
        相关资源
        最近更新 更多