Well, today I’ve learned something new. Â Typing a query like this:
UPDATE `table` SET `field` = '1' WHERE `id` = '123'
I made a typo and entered the following:
UPDATE `table` SET `field` = '1' WHERE `id` - '123'
Yup. Â A simple dash (-) instead of an equal (=) sign. Â I know, I’m supposed to do a SELECT before, or use a transaction, or, at least, have a backup of the database – depending on which school of thought you follow the most. Â I didn’t have any of these. Â And once the query went in, there was little I could do.
Guess what the query does? Â I’m still looking into the exact consequences, but so far it looks like ALL records EXCEPT the one with id 123 have been updated.
Gladly I have some history revision tables from which I could restore most of the state. Â But this is scary dangerous anyway. Â I would expect a syntax error intuitively.