Mysql数据库表行消失 [英] Mysql DB Table Rows Disappearing
问题描述
最近发生了一个非常奇怪的问题(对我而言).在接受用户提交的数据的应用程序中,随机发生以下情况:
A really weird (for me) problem is occurring lately. In an application that accepts user submitted data the following occurs at random:
存储用户提交的数据的数据库表中的行为disappearing
.
Rows from the Database Table where the user submitted data is stored are disappearing
.
请注意,除了INSERT语句外,数据库表上没有发出DELETE,DROP,TRUNCATE或其他SQL语句.
Please note that there is NO DELETE, DROP, TRUNCATE or other SQL statement issued on the database table except from the INSERT statement.
这可能是Mysql的错误吗?在mysql.com上进行了一些研究(论坛,错误等),发现了2种类似的情况,但没有得到可靠的答案(只是建议).
Could this be a bug of Mysql? Did some research on mysql.com (forums, bugs, etc) and found 2 similar cases but without getting a solid answer (just suggestions).
一些您可能会觉得有用的信息: 存储引擎:InnoDB 清除用户提交的数据并检查SQL注入尝试
Some info you might find useful: Storage Engine: InnoDB User Submitted Data sanitized and checked for SQL Injection attempts
感谢任何建议和信息.
致谢
推荐答案
有3种可能:
-
首先,数据从未到达数据库.其他地方发生了什么事,因此数据消失了.也许是间歇性的网络问题,服务器过载,应用程序错误.
The data never got to the database in the first place. Something happened elsewhere so the data disappeared. Maybe intermitten network issues, overloaded server, application bug.
数据库事务未提交,并已回滚.可能是您的应用程序代码中的错误,可能是一些无效的数据使事情搞砸了,也许发生了并发异常等.
A database transaction was not commited, and got rolled back. Maybe a bug in your application code, maybe some invalid data screwd things up, maybe a concurrency exception occured etc.
mysql中的错误.
A bug in mysql.
我先看1.和2..
这篇关于Mysql数据库表行消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!