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.

