#!/usr/bin/python
#Program:
# insert data into mysql and the display them
import MySQLdb as mdb
conn = mdb.connect(host = 'localhost', user = 'root', passwd = '8023xue0526', db ='contact')
cur = conn.cursor()
cur.execute("insert into contact values('123221', 'ni')")
cur.execute("select * from contact")
row_num = int(cur.rowcount)
for i in range(row_num):
row = cur.fetchone()
print row
我使用这些代码将数据插入mysql,程序运行正常。但之后我在mysqlclient中检查,数据不存在。 但是当我在“cur = conn.cursor()”之前添加一条“with conn:”语句时,数据真正插入到mysql中。像这样的代码
#!/usr/bin/python
#Program:
# to get some information from mysql
import MySQLdb as mdb
import sys
conn = mdb.connect(host = 'localhost', user = 'root', passwd = '8023xue0526', db = 'contact')
with conn:
cur = conn.cursor()
cur.execute("insert into contact values('122221', 'ni')")
cur.execute("select * from contact")
row_num = int(cur.rowcount)
for i in range(row_num):
row = cur.fetchone()
print row
最佳答案
with conn:
(使用连接对象作为上下文管理器)确保在 with
语句控制的代码块内没有发生异常时提交事务。
如果没有上下文管理器,请使用 conn.commit()
显式提交事务。
关于python - 我使用 python mysql API 将数据插入 mysql 但当我没有添加语句 'with conn:' 时它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920019/