Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/11/2011, 12:28
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Sobreescribir datos

Hola fdez87:

Podrías utilizar la cláusula ON DUPLICATE KEY del insert para actualizar los registros en caso de que la llave ya exista en la tabla. Sería más o menos así:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE TuTabla (id INT, descripcion VARCHAR(20), PRIMARY KEY (id));
  2.  
  3. Query OK, 0 rows affected (0.08 sec)
  4.  
  5. mysql> INSERT INTO TuTabla VALUES (1, 'uno'), (2, 'dos');
  6. Query OK, 2 rows affected (0.05 sec)
  7. Records: 2  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> SELECT * FROM TuTabla;
  10. +----+-------------+
  11. | id | descripcion |
  12. +----+-------------+
  13. |  1 | uno         |
  14. |  2 | dos         |
  15. +----+-------------+
  16. 2 rows in set (0.00 sec)
  17.  
  18. mysql> #Hacemos otro insert con la cláusula ON DUPLICATE KEY
  19. mysql> INSERT INTO TuTabla VALUES (1, 'uno corregido'), (3, 'tres')
  20.     -> ON DUPLICATE KEY UPDATE descripcion = 'uno corregido';
  21. Query OK, 3 rows affected (0.05 sec)
  22. Records: 2  Duplicates: 1  Warnings: 0
  23.  
  24. mysql> SELECT * FROM TuTabla;
  25. +----+---------------+
  26. | id | descripcion   |
  27. +----+---------------+
  28. |  1 | uno corregido |
  29. |  2 | dos           |
  30. |  3 | tres          |
  31. +----+---------------+
  32. 3 rows in set (0.00 sec)

Observa que como el registro 1 ya existía en la tabla entonces actualiza el campo descripción, como el registro 3 no existe entonces si se inserta en la tabla.

Dale un vistazo para ver si te sirve.

Saludos
Leo.