SYMPTOM:
After executing a transaction, users may notice that data is not updated in the database as desired. When looking at the SQL, it is seen that the WHERE clause of the UPDATE statement of the transaction contains a value of -2147483648 instead of the correct value.
Sql
UPDATE table1
SET column1=x, column2=y
WHERE column3=-2147483648
In general, the column referenced in the WHERE clause of the UPDATE statement will be the primary key of the table. So in the example above, column3 would be the primary key of table1.
Since there is no value of -2147483648 in the primary key, no columns will be updated in the table.
CAUSE:
The issue will occur when the the datatype of the primary key column cannot support the value that should be used in the UPDATE statement.
For example, if the datatype of column3 supports 10 digits, but the desired value of column3 contains 11 digits, then -2147483648 will be inserted into the WHERE clause instead of the desired value.
ACTION:
This issue can be resolved by specifying a different primary key column in the WHERE clause of the update statement. Choose a primary key column where the records are less than 10 digits.
KB46983