Informix Error -3660
-3660 You must first update table-name rows which join this row.
The row you wish to update is the dominant member of a verify join. You are not allowed to change a row value in this column that would invalidate joined rows in other tables. You must first update the rows in table-name that join this column.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3660 fires when attempting to change a dominant verify-join row's value in a way that would
invalidate rows joined to it — per the official guidance, changing the value isn't allowed
until the joining rows in table-name are updated first.
- Attempting to change a dominant row's value while joining rows in
table-namestill depend on the old value, per the official guidance — the direct, only cause.
Solutions / Resolution
- Update the joining rows in
table-namefirst, per the official guidance, then update the dominant row.
Examples
Updating dependent rows first
UPDATE order_items SET cust_id = '54321' WHERE cust_id = '12345';
-- then update the dominant customer row's id via the form
Diagnostic Checks
- Check
table-namefor rows still joining to the value being changed, and update them first.
Related Errors / Related Topics
- -3650 — "You must first remove table-name rows which join this row." A closely related dominant-row error, about removing dependent rows before deleting rather than updating them before changing a value.
A dominant verify-join row's value can't be changed while dependent rows in table-name still
reference it — update those rows first.