无法使用pythons mysqldb执行mysql插入

时间:2011-07-17 20:20:36

标签: python mysql mysql-python

这是我关于stackoverflow的第一个问题! 我正在编写一个steamcommunity爬虫,它可以浏览蒸汽配置文件并保存所拥有的游戏,steamname,朋友等... 但是当我尝试运行insert命令时,它只是没有。

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

程序显示“insert”,但execute命令既不抛出异常,也不向数据库插入内容。 此外,没有发现最终发生的异常。当我将查询更改为“INSERT INTO games(useridd)”时,程序退出并看到异常。

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

2 个答案:

答案 0 :(得分: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()
    

答案 1 :(得分:5)