Actualizar el valor de la base de datos de un campo ACF en WordPress

Avanced Custom Fields crea en la tabla wp_postmeta registros de los campos personalizados en WordPress. Cómo actualizar el valor (desde un fichero csv) de uno de los campos para no tener que ir producto a producto:

Ejemplo de wp_postmeta.
Cómo actulizar el valor de _sale_price
_sale_price actualizado de 2.756 a 5
buxl1 rnnlf
  • Crear una tabla temporal antes de realizar la importación

CREATE TEMPORARY TABLE temp_update_table (meta_key, meta_value)
LOAD DATA INFILE ‘your_csv_pathname’
INTO TABLE temp_update_table FIELDS TERMINATED BY ‘;’ (meta_key, meta_value);
UPDATE «table»
INNER JOIN temp_update_table on temp_update_table.meta_key = «table».meta_key
SET «table».meta_value = temp_update_table.meta_value;
DROP TEMPORARY TABLE temp_update_table;

  • Otra opción, sería importar en otra tabla (table2) el fichero .csv y actualizar la tabla que deseamos (pj. table1)

UPDATE table1 t1 set
_sale_price = (select meta_value from table2 t2 where t2.post_id = t1.product_id)
WHERE
(select count(*) from table2 t2 where t1.product_id = t2.post_id) > 0;

Lógicamente habrá que ajustar los campos a nuestro interés.

Antes de nada realizar un backup de la base de datos.