Folks,
I just made a mistake that could be quite costly: I did this:
update writer_survey set partid='W41308' where survid in (select survid
from participants where partid='W41291' limit 1);
when I should have done this:
update writer_survey set partid='W41308' where survid in (select survid
from writer_survey where partid='W41291' limit 1);
Is there any way I can undo this, e.g., set partid back to what it was
before I ran this command? I know I should have done it in a transaction,
but I didn't.
More broadly, can someone explain why it worked? There is no survid column
in participants, so I would have expected it to generate an error on the
sub-select, not match all rows!
Thanks for any help.
----------------------------------------------------------------------
Andrew J Perrin - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
clists@perrin.socsci.unc.edu * andrew_perrin (at) unc.edu