Is there a way by which update to ALL rows of a Mysql table could be denied or avoided?
Background:
I have a table 'Orders' having 'OrderID' (Type VARCHAR) and 'VendorID' (Type Integer) as two of the columns. If I run the below query on this table, it simply resets VendorID in all the rows:
SET `VendorID` = 0 WHERE `OrderID` = 0
OrderID should not be 0 but because of some bug in the system, it escaped all the checks and created havoc. Had OrderID been of Integer type, this query would not have done anything. But since OrderID has alphabets, it could not be set as Integer type.
Can Mysql be configured in such a way that it rejects Updates to all rows? Would result of this query change if underlying database is not Mysql?
My environment:
nginx/1.4.6 Codeigniter (2.x) / Mysql (5.5) / InnoDB table type
Please suggest how this issue could be avoided in future, thanks.