我主要用PHP构建了我的代码库,并且正在看我能用Python组合什么。我想要解决的一个关键挑战是能够通过AWS RDS读取和写入MySQL数据库。我使用pymysql编写了一个脚本,并认为我已经解决了我的问题。我运行一个简短的更新脚本:
usql1 = "UPDATE table_name SET STATE='Georgia', SCORE2='1' WHERE ID=1"
response1 = cursor.execute(usql1)
当我在Python代码中打印结果时,我看到状态更改为格鲁吉亚,SCORE2
字段更改为1
。但是,当我在MySQL Workbench中刷新表时,没有任何变化。
为什么当我在Python脚本中检索并打印表而不是在底层数据库中时,结果会发生变化?这和pymysql启动游标的方式有关系吗?
谢谢!
1条答案
按热度按时间ffx8fchx1#
当你执行更新时,MySQL隐式地启动了一个事务。您需要在执行更新后调用
connection.commit()
来提交此事务,以防止在断开连接时事务自动回滚。