无法使用pythons mysqldb执行mysql insert

2024-06-24 13:50:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我关于stackoverflow的第一个问题! 我目前正在编程一个SteamCommunityCrawler,它可以在steam档案中爬行,并保存诸如自己的游戏、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)”时,程序退出,我看到异常。在

这个应用程序是多线程的,但是在执行之前被获取了,所以我看不出有什么问题。在


Tags: 命令self程序id游戏execute编程档案
2条回答

你忘了commit the transaction。在

  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()
    

相关问题 更多 >