jorge wrote:
Hola!
No se si es posible pero no encuentro la forma de deshacer un update.
Resulta que el update lo hice sin especificar la clausula 'where' y se
ha realizado el cambio en todos los registros. Por lo que he leido
'update' no lleva implicito un commit por lo que supongo que haya
alguna forma de deshacer los cambios ¿estoy en lo cierto?
saludos!
My Spanish is poor but if I understand you, you are asking if you can
undo the effects of an UPDATE statement that you executed without
specifying a WHERE clause.
UPDATE, like other commands in MySQL, executes with autocommit by
default. Still, it is possible to roll back a transaction only if you
use InnoDB tables. MyISAM tables do not support transactions, in other
words MyISAM tables always execute statements as if in autocommit mode.
I'm very sorry to hear it, but you may have changed all your data
without possibility of recovering. If you made a backup of the data
before your UPDATE, then you must use the backup now to restore the
original values for each record.
Mi español es pobre pero si le entiendo, usted está preguntando si usted
puede deshacer los efectos de una declaración de la UPDATE que usted
ejecutó sin especificar WHERE cláusula.
UPDATE, como otros comandos en MySQL, se ejecuta con el autocommit por
defecto. No obstante, es posible rodar detrás una transacción solamente
si usted utiliza las tablas de InnoDB. Las tablas de MyISAM no apoyan
transacciones, en otras palabras que las tablas de MyISAM ejecutan
siempre declaraciones como si en modo del autocommit.
Estoy muy apesadumbrado de oírlo, pero usted pudo haber cambiado todos
sus datos sin la posibilidad de recuperación. Si usted hizo una reserva
de los datos antes de su UPDATE, entonces usted debe ahora utilizar la
reserva para restaurar los valores originales para cada expediente.
Regards,
Bill K.