Jump to content

Cambio masivo productos MySQL


Eutanasio

Recommended Posts

Buenas,
Necesito que aparezca el texto "Bajo pedido" en todos los productos cuando no hay stock. Esta consulta serviría para aplicar a todos los productos del catálogo de golpe? se puede mejorar de alguna manera?:
 

UPDATE `ps_product_lang` SET `available_later` = "Bajo pedido"

Y esta consulta vale para poner el stock a 0 a todos los productos de una categoría?

UPDATE `ps_product` SET `quantity` = 0 WHERE `id_category` = 1

GRACIAS!

Edited by omar2886 (see edit history)
Link to comment
Share on other sites


UPDATE `ps_product` SET `quantity` = 0 WHERE `id_category_default` = 1;
UPDATE `ps_product_shop` SET `quantity` = 0 WHERE `id_category_default` = 1

En la otra pon un WHERE

UPDATE `ps_product_lang` SET `available_later` = 'Bajo pedido' 
WHERE `id_lang`= 2

Se entiende que seria para la categoria por defecto asociada a los productos

Edited by ventura (see edit history)
  • Like 1
Link to comment
Share on other sites

Muchas gracias ventura!

Lo de "bajo pedido" ya lo hice pero de esta manera :

update ps_product_lang set available_later = 'Bajo pedido' where true

Por lo de cambiar las cantidades a 0, no entiendo porqué hay que hacerlo en 2 tablas distintas. También me he dado cuenta que sería más facil aplicarlo a todas las categorías excepto a 2, sería así?
 

update ps_product set quantity = 0 where id_category != 1 OR id_category != 2

Gracias!

Link to comment
Share on other sites

Lo de las dos tablas se debe a la configuracion de la multitienda independientemente de que se tenga activada o no la opcion, por defecto los productos se instalan el una tienda, en un id.

 

Lo puedes hacer asi tambien, pero siempre en ambas tablas

update ps_product set quantity = 0 where id_category_default NOT IN (1,2)
Edited by ventura (see edit history)
Link to comment
Share on other sites

Muchas gracias de nuevo. He ejecutado la consulta para ps_product, pero me ha puesto el valor 0 a todos los productos del catálogo sin respetar las categorías 1 y 2. De todas formas, aun estando cambiados esos valores a todos los productos en la BD, en la web y el admin siguen estando las cantidades de antes, no ha cambiado nada. He borrado cache y forzado compilación y nada.
La otra consulta para ps_product_shop directamente da error porque no hay 'quantity' en esa tabla.

Link to comment
Share on other sites

Anda! qué tabla tan curiosa con su estructura detallada por declinaciones. Entonces lo que he modificado antes afectará en algo?
Y ahora que esta es la tabla correcta, para no perder el stock de esas 2 categorías q no quiero modificar, seguro que esto me lo va a respetar? 

where id_category_default NOT IN (1,2)

Gracias!

PS: me respondo a mi mismo, no veo forma en esta tabla de discriminar por categoría de producto desafortunadamente, así que tienen q ir todos al saco!

Edited by omar2886 (see edit history)
Link to comment
Share on other sites

UPDATE ps_stock_available s, ps_product p
SET s.quantity= 0 
WHERE p.id_category_default NOT IN (1,2)

Un ejemplo.

Siempre realiza un backup de la base de datos o de las tablas implicadas en las consultas updates que vayas a realizar

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...