Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/10/2010, 03:59
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Debería usar un Stored Procedure?

Cita:
1) Las transacciones solo se pueden hacer en SP, no? en triger o cualquier otra función no existen verdad?
En MySQL, al menos, un TRIGGER no puede llamar a una transaccion.
Sí puedes iniciar una transacción por fuera del SP (a nivel programático) y cerrar el commint una vez que el resultado ha sido el esperado.
Lo que viene bien para esto último es hacer un control de flujo de ejecuciones por medio del ROW_COUNT(), por ejemplo, que devuelve la cantidad de registros afectados por la sentencia.

Cita:
2) Si hay algún insert que falla, (ej. el número dos) automáticamente se hace rollback de todo, o tengo que indicárselo en algún lado?
Si cierras las conexión sin COMMIT, el ROLLBACK es implícito. normalmente lo mismo ocurre si el SP se corta o sale sin el COMMIT correspondiente.

Cita:
3) Existe alguna forma de confirmar que el procedimiento ha ido bien? generar algún tipo de respuesta TRUE o FALSE para que yo desde PHP pueda saber si se ejecutó correctamente?
Eso es medio obvio: SI una ejecución de sentencia (un SP es invocado como sentencia) se ejecuta bien, el valor del result de esa llamada es siempre TRUE... Pero eso lo peudes ver en el manual de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)