Jump to content

Sql para cambiar todos los productos a un id de proveedor


Recommended Posts

Buenas. Estoy trabajando con una tienda (vaya tontería, si no que iba a hacer aquí..) y a la hora de meter los datos en el CSV y copiar hacia abajo la columna del proveedor se autonumeró desde el 1 hasta el 7000 y pico, tantos como productos tengo.. y ahora tengo 1 proveedor por cada producto.. Chachi, ¿verdad?..

 

Estaba pensando que para no borrar todo (la tienda está en funcionamiento), hacer una petición SQL en la que le asigne a todos los productos el id 1 (es el proveedor actual de todos esos productos). Como casualmente aún no han metido los demás proveedores, no habría problema en hacerlo masivamente... ¿me equivoco?

 

Por lo tanto, mi duda es, si hago lo siguiente:

UPDATE `MiBasedeDatosSQL`.`ps_product` SET `id_supplier` = '1' WHERE `ps_product`.`id_product` != 1

Podré borrar a posteriori todos los proveedores con id diferente a 1 sin que se borren los productos.. es que ya me paso una vez que lo hice, no recuerdo si seguí el mismo procedimiento, pero se me borraron los 3000 productos que tenía asignados a esos proveedores.

 

No se si he de buscar alguna otra tabla de referencia al id_supplier que desconozca.. y a la cual le tenga que hacer también el cambio.

 

Algún alma caritativa que me guíe en la senda 'prestashopriana'.... Gracias!!

 

 

Link to comment
Share on other sites

A tu primera pregunta.
 
Cambiar todos los productos de un proveedor a otro desde la base de datos.
 
-------------------------------------------
 
Tabla
 

ps_product

Campo
 

id_supplier 
update ps_product set id_supplier = IDNUEVOPROVEEDOR  

---------------------------------------------------------------------
 
Tabla:
 

ps_product_supplier 

Campo
 

id_supplier 
update ps_product_supplier set id_supplier = IDNUEVOPROVEEDOR 

|---------------------|
 
(No te pongo un "where" (where  que colocas, por no pegar toda la consulta en el foro, pero puedes colocar el where sin problema si tu idea es actualizar en base a una condicion)
 
|-----------------------------------------------------------------|
 
 
A tu segunda pregunta:

Si borras un proveedor u fabricante, no se borran los productos de ese fabricante/proveedor, solamente se borra ese proveedor y fabricante. 
 
Los proveedores puedes borrarlos desde la pestaña Catalogo -> Proveedores en tu panel de administración,  o en las tablas:

ps_supplier
ps_supplier_lang
ps_supplier_shop

|--------------------------------|

 

---------------------------

 

---------------------------

Dicho todo esto si no me falla la memoria también puedes actualizar el proveedor de los productos por CSV y luego volver a realizar una importación de productos desde el panel en Parametros Avanzados -> Importar CSV de ese CSV actualizado.

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

Ok. Gracias Victor.. he aplicado tu respuesta y parece que todo bien.

 

Sólo me queda una duda, imagino que es algo de la caché, pero lo pregunto igualmente.

Ahora en el listado de proveedores, el id 1 tiene 1 producto, aunque si me meto al listado de productos, están los 7000.. y si consulto a través de mysql, los 7000 tienen asignado id 1.

 

¿Alguna recomendación o idea sobre esto..? o lo dejo estar y ya se actualizará..

Edited by ArdaMedia.Net (see edit history)
Link to comment
Share on other sites

Ok. Gracias "nadie".. he aplicado tu respuesta y parece que todo bien.

 

Sólo me queda una duda, imagino que es algo de la caché, pero lo pregunto igualmente.

Ahora en el listado de proveedores, el id 1 tiene 1 producto, aunque si me meto al listado de productos, están los 7000.. y si consulto a través de mysql, los 7000 tienen asignado id 1.

 

¿Alguna recomendación o idea sobre esto..? o lo dejo estar y ya se actualizará..

 

¿Estas hablando del contador de productos en el listado de proveedores o de otra cosa?

 

Te adjunto imagen, para ver que me confirmes si ahora te refieres a este problema u a otro.

 

numeroPr.png

  • Like 1
Link to comment
Share on other sites

Bueno, como la idea era poner fácil la consulta, había omitido datos reales de lo que me pasaba.. pero ahora con las capturas me obligas a darlos.. jeje.. No eran 7000 proveedores, eran 379, tantos como productos nuevos metí en la última actualización.

 

Te adjunto capturas de lo que te comento.

 

post-1396587-0-05851600-1496403352_thumb.jpg

En Proveedores, el único que tengo dice que tiene 7241 productos.

 

post-1396587-0-61033500-1496403352_thumb.jpg

En cambio en el listado de productos salen 7619.

 

Me faltan 378 que se han ido de "parranda".. 

 

Pero hago la consulta en la base de datos de productos con el proveedor id=1 y aparece:

 

7,619 total, La consulta tardó 0.0012 seg.

 

 

 

 

 

post-1396587-0-05851600-1496403352_thumb.jpg

post-1396587-0-61033500-1496403352_thumb.jpg

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...