mysql - 行从 MySQL 中消失,最大允许大小可能是原因吗?
问题描述
我有一个包含一些数据的表。
从日志中,我可以看到它插入了一条记录,并获得了它的 ID。
ID 来自 MySQL,因为它是自动增量的。然后,大约 2 秒后,该记录一定消失了,因为从日志中,我可以看到它再也找不到它了。
这发生在 2019-11-18 21:06。
在数据库中,我可以看到记录丢失。下一个插入的记录确实存在。这是大约 5 年以来第一次有记录消失,或者我知道的。
在 MySQL 日志中,我收到了这样的消息,它们是关于具有消失条目的表(myfield、myservername、mydb.mytable 我已经替换了原始名称),在此事件之前也有类似的消息。
11 月 18 日 00:33:49 myservername MySQL:2019-11-18 0:33:49 139725497882368 [警告] InnoDB:无法在表 mydb.mytable 中添加字段 myfield,因为添加后,行大小为 8840,大于最大值索引叶页上记录的允许大小 (8126)。
实际的问题是,这可能是记录消失的原因吗?
解决方案
这是一个用户问题。管理员已删除该条目 - 他设法删除了 5 秒前刚刚创建的条目。
我仍然必须弄清楚这些错误意味着什么,因为该字段存在。但这是一个完全不同的问题。感谢您的评论,向我保证这不会是 MySQL 中的错误,所以我继续搜索。
作为参考,我在 dba.stackexchange 上找到了这个,但据我所知,这不会导致行消失,就像我经历的那样。 https://dba.stackexchange.com/questions/47109/mysql-row-does-not-persist-but-primary-key-with-auto-increment-is-incremented
推荐阅读
- spring-boot - spring security自定义表达式中访问http请求
- hypothesis-test - 有没有办法将一组曲线分为两组或三组?
- javascript - 添加源后如何选择与原始图像大小相同的图像源?
- python - 从 XHR 请求中使用 python 下载 PDF
- google-apps-script - 用于创建具有特定名称和数据的新电子表格的脚本
- python - Python Pandas datetime set_index 给出了意想不到的结果
- android - Android Studio 找不到 com.android.tools.build:gradle:4.0.1。错误
- json - 展开数组元素,在循环中将字符串附加到每个元素
- python - IBM Data Science:float() 参数必须是字符串或数字,而不是“方法”
- html - HTML 表单方法 POST 更改为 GET 但很少,并且仅在单击的链接上