Okay, I log onto the MySQL command-line client as root. I then open or otherwise run a python app using the MySQLdb module as root. When I check the results using python (IDLE), everything looks fine. When I use the MySQL command-line client, no INSERT has occurred. If I change things around to _mysql instead of MySQLdb, everything works fine. I'd appreciate any clarification(s).
"Works" until IDLE/Virtual machine is reset:
import MySQLdb
db = MySQLdb.connect(user='root', passwd='*******',db='test')
cursor = db.cursor()
cursor.execute("""INSERT INTO test VALUES ('somevalue');""",)
Works:
import _mysql
db = _mysql.connect(user='root', passwd='*******',db='test')
db.query("INSERT INTO test VALUES ('somevalue');")
System info: Intel x86 WinXP Python 2.5 MySQL 5.1.41 MySQL-Python 1.2.2
您可以使用db.commit()
提交数据或在_mysql.connect(...)
之后设置db.autocommit()
_mysql.connect(...)
以自动提交请求。
I think they use different autocommit settings. Use commit() after inserting data.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.