On 6/21/06, Barry <[EMAIL PROTECTED]> wrote:
Kevin Old schrieb:
> Hello everyone,
>
> I had a horrible thing happen to me this morning and wanted to make it
> known to the community.
>
> I needed to delete a record from a very large table (yes, it was
> backed up) and like the cli interface of mysql.  I ran this query:
>
> delete from tablename where id - 12345;
>
> Notice that I accidentally hit the dash (-) instead of the equal (=).
> It proved to be disasterous as it deleted all the records from that
> table.
>
> Lucky for me I had a backup from last night and not too many records
> were added since then and I was able to restore.
>
> For the record, I am aware of the "select before delete" method, but
> didn't use it in this one instance and it meant a few hours restoring
> data.
>
> Just wanted to throw this out and see if others had possible solutions
> for working with the mysql cli interface for maybe setting up "rules"
> for it to cancel a query if it contains a certain character (like the
> dash).  Fat chance there is, but I thought I'd ask.
>
> Hope this helps someone,
> Kevin

On this one use LIMIT.
If you want to delete specific rows alway use LIMIT.

even if you f**k up you "just" have deleted one row.

If you are luck it is an old one and easy restoreable.


Hi Barry,

So if I understand you correctly, I'd do the following:

delete from tablename where id - 12345 limit 1;

Is that correct?
--
Kevin Old
[EMAIL PROTECTED]

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to