3

这是我关于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)”时,程序退出并且我看到了异常。

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

4

2 回答 2

6
  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()
    
于 2011-08-09T13:01:53.347 回答
5

您忘记提交事务

于 2011-07-17T20:28:56.547 回答