Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2010, 10:29
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, 4 meses
Puntos: 2658
Respuesta: Cargar Txt a BD Mysql

Personalmente, usaría una tabla intermedia que te permita cargar los valores tal y como están en el archivo y luego, con otra sentencia hacer un volcado masivo de datos a la tabla final
Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `test`.`tabla1`;
  2. CREATE TABLE  `test`.`tabla1` (
  3.   `HORA1` time NOT NULL,
  4.   `HORA2` time NOT NULL,
  5.   `HORA3` time NOT NULL,
  6.   `HORA4` time NOT NULL,
  7.   `HORA5` time NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='InnoDB free: 7168 kB';
Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `test`.`tabla2`;
  2. CREATE TABLE  `test`.`tabla2` (
  3.   `HORA1` varchar(10)NOT NULL,
  4.   `HORA2` varchar(10)NOT NULL,
  5.   `HORA3` varchar(10)NOT NULL,
  6.   `HORA4` varchar(10)NOT NULL,
  7.   `HORA5` varchar(10)NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='InnoDB free: 7168 kB';
Código MySQL:
Ver original
  1. LOAD DATA INFILE 'C:\\HORAS.TXT'
  2.   INTO TABLE tabla2
  3.   ENCLOSED BY '\"'
  4.   LINES TERMINATED BY '\r\n';
Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla2 t;
  2. +-------+-------+-------+-------+-------+
  3. | HORA1 | HORA2 | HORA3 | HORA4 | HORA5 |
  4. +-------+-------+-------+-------+-------+
  5. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  6. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  7. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  8. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  9. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  10. +-------+-------+-------+-------+-------+
  11. 5 rows in set (0.00 sec)
Código MySQL:
Ver original
  1. INSERT INTO tabla1(HORA1, HORA2, HORA3, HORA4, HORA5)
  2.   TIME(CONCAT('00:',HORA1)),
  3.   TIME(CONCAT('00:',HORA2)),
  4.   TIME(CONCAT('00:',HORA3)),
  5.   TIME(CONCAT('00:',HORA4)),
  6.   TIME(CONCAT('00:',HORA5))
  7. FROM tabla2 t;
  8. mysql> SELECT * FROM tabla1 t;
  9. +----------+----------+----------+----------+----------+
  10. | HORA1    | HORA2    | HORA3    | HORA4    | HORA5    |
  11. +----------+----------+----------+----------+----------+
  12. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  13. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  14. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  15. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  16. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  17. +----------+----------+----------+----------+----------+
  18. 5 rows in set (0.02 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)