Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/11/2010, 08:55
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: consejo sobre un update.

Cita:
hola tengo una duda es lo mismo colocar BEGIN o START TRANSACTION?
Es lo mismo. START TRANSACTION es un comando unico de mysql pero en otros DMBS es muy utilizado BEGIN, por lo que mysql también lo tiene como standar.

Cita:
y cuando se hace el rollback en caso mio de alguna falla altera toda la BD o solo el UPDATE que no fallo?
Una transacción tiene vida unicamente en la sesión actual.
si abres 3 consolas de mysql simultaneamente. En una abres una transacción, los cambios no serán vistos en las otras sesiones hasta que hayan sido confirmados (Con commit). Por lo que esto realmente no te altera la base de datos.

Si les vas a dar un uso mas grande y que comprometa muchas tablas, te recomiendo que profundices el tema ya que son varios casos los que te pueden traer problemas. Uno de los mas conocidos es un deadlock cuando una transacción abierta compromete registros que están siendo utilizados por otra transacción. Para brindar consistencia en los datos, cuando mysql detecta un deadlock hace automaticamente rollback de todas las transacciones.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming