我遇到了一个不寻常的问题,可能会突显我对MySQL的不熟悉。我有超过1000个excel文件需要上传到MySQL服务器。我用mysql.connector和xlrd写了一个简单的python程序,(python 2.7仅供参考)。该程序基本上收集相关数据,然后使用
添加它"INSERT INTO realposts "
"(PostId, Subreddit, Title, Body, Username, NumberofComments, Upvotes, CreationTime, Link, Gilded, SFW)"
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
"ON DUPLICATE KEY UPDATE NumberofComments = NumberofComments, Upvotes = Upvotes, Gilded = Gilded;"
到目前为止,真好!我添加了大约400个excel文件,没有问题。然后我又增加了400,到目前为止还不错。然而,我到了最后的200,当快速分析数据时,注意到我做了
select subreddit, count(*) from realposts
group by subreddit;
整个类别,据称超过1000个条目,刚刚消失。
有人能指出我可能造成这种情况的原因,以及如何解决这个问题?我对MySQL非常不熟悉,但搜索表明这不应该发生。我不知道如何开始调试这个。
编辑:不知怎的,在第四次运行之后,这个bug已经消失了。我会把它打开,但我没有答案为什么。
答案 0 :(得分:1)
我为你做了一些研究,其中一种可能性已经发生了:
1)数据从未首先进入数据库。其他地方发生了一些事情,所以数据消失了。可能是间歇性网络问题,服务器过载,应用程序错误。
2)未提交数据库事务,并已回滚。也许您的应用程序代码中存在错误,可能是某些无效数据搞砸了,可能发生了并发异常等。
3)MySQL中的一个错误。
答案 1 :(得分:0)
所以,事实证明这是在mysql workbench中显示表的问题,我已经将行的限制设置为1000,这就是为什么它没有显示某些结果,我错误地认为它已被吃掉了。
谢谢大家。