Multiplicar por 1.5 campo en MySQL

Me encuentro que tengo que multiplicar por 1.5 los registros de una tabla MySQL pero tengo 75.000 registros a actualizar… en su momento hice un programa para exportar los datos en formato csv y luego poder importarlos de nuevo… pero es que se me cansa el dedo al tener que hacerlo a mano :P así que he buscado otra forma un poquito mas elegante para hacerlo. Por supuesto necesitas acceso a la base de datos!

mysql> select * from rates limit 0,10;
+-----------+----------------+---------------+---------+
| extension | destination    | establishment | price   |
+-----------+----------------+---------------+---------+
| 00101028  | Estados Unidos |             0 | 0.02304 |
| 0011      | Estados Unidos |             0 | 0.02304 |
| 001123    | Estados Unidos |             0 | 0.02304 |
| 001129    | Estados Unidos |             0 | 0.02304 |
| 001139    | Estados Unidos |             0 | 0.02304 |
| 001150    | Estados Unidos |             0 | 0.02304 |
| 001163    | Estados Unidos |             0 | 0.02304 |
| 001177    | Estados Unidos |             0 | 0.02304 |
| 001198    | Estados Unidos |             0 | 0.02304 |
| 001200    | Estados Unidos |             0 | 0.02304 |
+-----------+----------------+---------------+---------+
10 rows in set (0.00 sec)

mysql> update rates set price = price * 1.5;
Query OK, 75755 rows affected (0.19 sec)
Rows matched: 75757  Changed: 75755  Warnings: 0

mysql> select * from rates limit 0,10;
+-----------+----------------+---------------+---------+
| extension | destination    | establishment | price   |
+-----------+----------------+---------------+---------+
| 00101028  | Estados Unidos |             0 | 0.03456 |
| 0011      | Estados Unidos |             0 | 0.03456 |
| 001123    | Estados Unidos |             0 | 0.03456 |
| 001129    | Estados Unidos |             0 | 0.03456 |
| 001139    | Estados Unidos |             0 | 0.03456 |
| 001150    | Estados Unidos |             0 | 0.03456 |
| 001163    | Estados Unidos |             0 | 0.03456 |
| 001177    | Estados Unidos |             0 | 0.03456 |
| 001198    | Estados Unidos |             0 | 0.03456 |
| 001200    | Estados Unidos |             0 | 0.03456 |
+-----------+----------------+---------------+---------+
10 rows in set (0.00 sec)

mysql> update rates set establishment = establishment * 1.5;
Query OK, 2 rows affected (0.04 sec)
Rows matched: 75757  Changed: 2  Warnings: 0

Et voilà! :D

2 Comments

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.