Hola,
Quiero suponer que donde escribiste
Código SQL
[-]
ON DUPLICATE KEY UPDATE precio_actual = 368.42;
en realidad es
Código SQL
[-]
ON DUPLICATE KEY UPDATE precio_actual = 1368.42;
de lo contrario, no entiendo cuál es el valor de actualización.
El manual de MySQL menciona el uso de la función
values para la cláusula update para inserciones masivas. Quedaría algo así:
Código SQL
[-]
INSERT INTO productos (codigo, detalle, proveedor, precio_actual, fecha_modificacion)
VALUES
(001000005, 'TUBOS POLIETILENO 1/2"K10', 1, 368.42, '2011/11/08'),
(001000006, 'OTRO PRODUCTO', 1, 512.26, '2011/11/10')
ON DUPLICATE KEY UPDATE precio_actual = VALUES(precio_actual);
// Saludos