Row vanished from MySQL, could the maximum allowed size be the cause?

261 Views Asked by At

I have a table that holds some data.

From the log, I can see that it inserted a record, and got its ID.

The ID came from MySQL as it’s an auto-increment. Then, about 2 seconds later, that record must have vanished as, from a log, I can see it could not find it anymore.

This happened at 2019-11-18 21:06.

In the DB I can see that the record is missing. The next inserted record does exist. This is the first time a record vanished, or that I have been aware of, in about 5 years running this.

In the MySQL log, I got messages like these and they are about the table which has a vanished entry, (myfield, myservername, mydb.mytable I have replaced the original names), there are also messages like these before this event.

Nov 18 00:33:49 myservername MySQL: 2019-11-18 0:33:49 139725497882368 [Warning] InnoDB: Cannot add field myfield in table mydb.mytable because after adding it, the row size is 8840 which is greater than maximum allowed size (8126) for a record on index leaf page.

The actual question, can this be the reason for a record disappearing?

1

There are 1 best solutions below

0
On BEST ANSWER

It is a user problem. An administrator has deleted the entry - he managed to delete an entry which was just created 5 sec ago.

I still must figure out, what those errors mean, since the field exists. But that is an entirely different question. Thanks for comments, reassured me it can’t be a bug in MySQL, so I continued to search.

For reference I found this on dba.stackexchange, but as far as I can tell, that would not cause a vanishing row, the way I had it experienced. https://dba.stackexchange.com/questions/47109/mysql-row-does-not-persist-but-primary-key-with-auto-increment-is-incremented