Andrew basically has called it. I just want to add a few ideas you can consider if you are desperate:
- Are there any reports or printouts lying around? Perhaps you can reconstruct the data from there.
- Was this data entered via a web application? If so, there is a remote chance you can find the original data in the web server logs, depending upon how the app was constructed, etc.
- Does this app interface (pass data to) any other applications? They may have a buffered copy of data...
- Can the data be derived from any other existing data? Is there an audit log table, or another date in your schema based on this one, from which you can reconstruct the original date?
Edit:
Some commenters are mentioning that is is a good idea to test your update/delete statements before running them. For this to become habit, it helps if you have an easy method. I usually create my DELETE
statements like this:
--delete --select *
from [User]
where UserID=27
To run the select in order to test your query, highlight everything from select
onwards. To then run the delete if you are satisfied with the filter criteria, highlight everything from delete
onwards. The two dashes in front of delete
are so that if the query accidentally gets run, it will just crash due to invalid syntax.
You can use a similar construct for UPDATE
statements, although it is not quite as clean.