Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/04/2013, 12:20
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: crear transaccion para asegurar proceso

Opte por las transacciones, arme un ejemplo sencillo de una transaccion con la estructura que se asemeja a la del script final:

Código MySQL:
Ver original
  1. >SET AUTOCOMMIT=0;
  2. >SELECT * FROM uno FOR UPDATE;
  3. //en este punto mediante php hago un ciclo recorriendo registro por registro, $i es una variable incrementable
  4. >INSERT INTO dos (clave, calle, colonia) VALUES ('$i', '$i', '$i');
  5. //termina el ciclo
  6. >SELECT * INTO OUTFILE 'C:/wamp/www/transaccion/prueba2.txt' FIELDS TERMINATED BY '' LINES TERMINATED BY '\\n' FROM dos FOR UPDATE
  7. despues tengo una condicion si se ejecuto la instruccion anterior hace commit
  8. si no un rollback

ahora el prueba1.txt contiene:

Código:
1|dexter|
2|ronaldo|
3|lucrecia|
4|rusky|
5|jordana|
y prueba2.txt resulta:

Código:
1          1                        1
2          2                        2
3          3                        3
4          4                        4  
5          5                        5
lo cual es correcto

pues bien por lo que lei y de acuerdo a mis necesidades uso SELECT FOR UPDATE, que opinan?

la idea es que una vez que la tabla uno este llena y se pidan los datos de la misma, nadie pueda ni leer y ni escribir en ella, despues al insertar en la tabla2 y hacer el select que introduce los valores de la misma al txt tambien nadie puede ni leer ni escribir en ella.