首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过python加载到MySQL的数据消失。

通过python加载到MySQL的数据消失。
EN

Stack Overflow用户
提问于 2013-09-27 19:02:03
回答 1查看 127关注 0票数 0

我环顾四周,看看是否有人有这个问题,但看起来并非如此!基本上,我的问题是:

  • 我尝试使用python的MySQLdb库将数据加载到MYSQL db中。
  • 我似乎成功了,因为我能够检索在同一个python实例中加载的项
  • ONce

总之,我确实加载了数据,但是当我关闭python实例时,数据似乎消失了。

为了以后尝试隔离这个问题,我在代码中放置了一个time.sleep(60)行,这样一旦python代码加载了数据,我就可以尝试使用查询从MYSQL工作台检索数据,但是我仍然不能。

我想也许我是在将数据保存到不同的实例中,但是我检查了诸如“端口”之类的东西,它们是相同的!

我花了4-5个小时想弄清楚,但开始失去希望.多帮忙.请在下面找到我的代码:

代码语言:javascript
复制
db = MySQLdb.connect("localhost","root","password","mydb")
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print data

cursor.execute("LOAD DATA LOCAL INFILE "+ "filepath/file.txt" +" INTO TABLE addata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n'")
data = cursor.fetchall()
print data ###At this point data displays warnings etc
cursor.execute("select * from addata")
data = cursor.fetchmany(10)
print data ###Here I can see that the data is loaded

time.sleep(60) ##Here while the code is sleeping I go to mysql workbench and try the query "select * from addata".. It returns nothing:(
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-27 19:09:19

您几乎肯定需要在加载数据之后提交数据。

如果程序退出而不提交数据,DB将回滚您的事务,前提是发生了错误。

您可以将自动提交设置为连接请求的一部分,否则应该通过游标对象调用“commit()”。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19058208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档