Hola AnGuisi:
vayamos por partes... ¿los datos que vas a actualizar para todos los registros es la misma? si es así, lo único que tienes que hacer es poner una condición tipo IN en lugar de una condición de igual
Código MySQL:
Ver originalUPDATE caracteristicas_hardware
SET marca
= 'Western Digital', modelo = 'WD10',
observaciones_h = '350 GB'
id_hardware
IN ('1', '2', '3', '4', '5') AND codigo = '001';
Todos los registros que cumplan la condición quedarían con la misma información que pones en el SET...
ahora bien, si la información que deseas colocar en cada registro es diferente, entonces no puedes hacer la actualización de esta manera... si esta informaicón estuviera contenida por ejemplo en una tabla, podrías hacer de un UPDATE con múltiples tablas... checa el ejemplo:
Código MySQL:
Ver original+-------------+--------+-------+--------+--------+-----------------+
| id_hardware
| codigo
| marca
| modelo
| serial | observaciones_h
| +-------------+--------+-------+--------+--------+-----------------+
| 1 | 001 | marca
| modelo
| serial | observaciones_h
| | 2 | 001 | marca
| modelo
| serial | observaciones_h
| | 3 | 001 | marca
| modelo
| serial | observaciones_h
| | 6 | 001 | marca
| modelo
| serial | observaciones_h
| +-------------+--------+-------+--------+--------+-----------------+
+-------------+--------+-----------------+---------+--------------+-----------------+
| id_hardware
| codigo
| marca
| modelo
| serial | observaciones_h
| +-------------+--------+-----------------+---------+--------------+-----------------+
| 1 | 001 | Western Digital | WD10 | 544887s78d | 350 GB |
| 2 | 001 | SAMSUNG | 1234 | 12345asdfg | 1 T |
| 3 | 002 | Hitachi | ISO2013 | qwerty987654 | 3 T |
+-------------+--------+-----------------+---------+--------------+-----------------+
mysql
> UPDATE tabla_original T1
-> T1.id_hardware
= T2.id_hardware
AND -> T1.codigo = T2.codigo
-> SET T1.marca
= T2.marca
, -> T1.modelo = T2.modelo,
-> T1.observaciones_h = T2.observaciones_h
-> T1.id_hardware
IN ('1', '2', '3', '4', '5') AND -> T1.codigo = '001';
Query OK, 0 rows affected (0.04 sec)
+-------------+--------+-----------------+--------+------------+-----------------+
| id_hardware
| codigo
| marca
| modelo
| serial | observaciones_h
| +-------------+--------+-----------------+--------+------------+-----------------+
| 1 | 001 | Western Digital | WD10 | 544887s78d | 350 GB |
| 2 | 001 | SAMSUNG | 1234 | 12345asdfg | 1 T |
| 3 | 001 | marca
| modelo
| serial | observaciones_h
| | 6 | 001 | marca
| modelo
| serial | observaciones_h
| +-------------+--------+-----------------+--------+------------+-----------------+
Observa que sólo los dos primeros registros se actualizaron con los valores de la tabla_actualizada... en el caso del id_hardware = 3, este existe en la tabla_actualizada, pero tiene un código distinto, en el caso de id_harware=6 este no existe en la tabla_actualizada.
No sé si esto te sea de ayuda, por favor coméntanos cualquier detalle
Saludos
Leo.