Informix Error -3210: The current row position contains a deleted row.
Cause and resolution
The current row position contains a deleted row.
Another user has just deleted the row now displayed. That row no longer exists. You cannot use the UPDATE, REMOVE, NEXT, or PREVIOUS commands until you use QUERY to display a valid row.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3210 fires when the currently displayed row was deleted by another user — per the official
guidance, that row no longer exists, and UPDATE/REMOVE/NEXT/PREVIOUS can't be used
until a fresh QUERY displays a valid row.
- Another user deleted the row currently displayed, per the official guidance — the direct, only cause.
Solutions / Resolution
- Use
QUERYto display a valid row, per the official guidance, before usingUPDATE,REMOVE,NEXT, orPREVIOUSagain.
Examples
Re-querying after a stale row
QUERY
-- re-run the query to get a fresh, valid row before navigating further
Diagnostic Checks
- Check whether the displayed row still exists, and re-run
QUERYif another user may have deleted it.
Related Errors / Related Topics
- -3200 — "There are no rows in the current list." A related no-valid-row error, about no query having been run at all rather than a queried row having since been deleted.
- -3011 — "A table is locked -- no reading or writing is permitted." A related concurrency error, about a table being exclusively locked by another user rather than a row having been deleted by one.
The currently displayed row was deleted by another user — re-query to get a valid row before continuing.