MySQL FIX: Row handle referred to a deleted row or a row marked for deletion.

Okay, so this could be a few things. Usually this means mysql is trying to access a row that you’ve already deleted. However I happened to get this error just by doing a select statement (and I hadn’t updated or deleted anything — go figure). I believe SQL didn’t like order in which I was selecting the fields. To diagnose the problem I broke the SQL down and gradually added the fields I’d selected back in piece by piece. Once I’d done this everything was fine and dandy.

When I was looking for help on this I found someone else who has having the same problem but the reason for their error message was because the database was in 65 compatability mode. Heh, sounds like a lot of things can give you this problem.

You may also like...

5 Responses

  1. Nelson says:

    had the same problem. SQL SERVER 2005.

    just a simple join select statement resulted in error like you have.

    i found out that my table’s Foreign keys or indexes were gone, maybe some people modified it. So i set F keys and indexes and everything went fine.

  2. Jade says:

    Thanks! I appreciate it 🙂

  3. Nanny Agency says:

    I had the same program when I migrated from MS Access to SQL Server. You have to define primary key in all table of the view.
    or Call “select” as a readonly recordset. (adLockReadOnly)

  4. Kalyan says:

    Thanks for ur info. I had a prob in view while migrating MS 2000 to MS 2005. After i set the Primary key the prob was solved.

  5. Cool site, love the info.

Leave a Reply