Jump to content

[SOLUCIONADO] Como cambiar el id de un producto


Recommended Posts

Hola, muy buenas.

 

Bueno, para empezar, tengo una tienda prestashop con mas de 2100 productos, y para actualizarlos, importo la lista de productos con un archivo CSV, de esta manera, si hay algún producto nuevo, se le asigna automáticamente un id nuevo.

 

Por ejemplo, si el id del ultimo producto añadido es 2101, el siguiente producto nuevo se le asigna 2102.

 

Hasta aquí todo ha ido bien, hasta esta mañana. Cuando estaba actualizando la lista de productos cometí el error de poner el id en lugar de Referencia de proveedor, en la columna de ese ultimo. Y estas referencias son de 14 cifras, como un código de barras.

 

Lo que paso después es que se le asigno a un producto el ultimo id que prestashop permite "4294967295" y de esta manera ya no puedo añadir ningún producto nuevo, porque a todos se les asigna el id 4294967295 y luego me sale el error de duplicate id 4294967295 ...

 

No se si alguien sabe como puedo borrar ese id de la base de datos para volver a seguir la cuenta en donde la deje "2102", o reinicializar la cuenta de los ids o lo que sea, es que si no, no puedo añadir ningún producto nuevo.

 

Un saludo.

Link to comment
Share on other sites

Hola Shemsky;

 

Realmente te desaconsejo alterar las propiedades de la tabla de productos quitandole la propiedad de autoincremento. Existen varias relaciones a otras tablas que se basan en el Product-Id que el campo que asigna el numero de producto en Prestashop.

 

Como planteas el problema, supongo que no tienes un resplado previo a la actualizacion que hicistes.En ese caso, te sugiero que primero elimines los productos insertados mediante la importacion del archivo CSV, aunque sea manualmente.

 

Posteriormente utiliza la consola phpMyAdmin e indicale que abra tu base de datos, una vez aqui selecciona la tabla product y haz click en el boton OPERACIONES. Te mostrata varios cuadros de datos agrupados, te interesa el cuadro que indica opciones de la tabla en el encontraras la variable AUTO_INCREMENT seguida de un valor; sustituye en ese campo el valor que deseas, que como indicas en tu post seria 2102, es decir el proximo ID de producto.

 

Recuerda hacer un respaldo preventivo de tu base de datos.

 

Un saludo

Link to comment
Share on other sites

Hola Shemsky;

 

Realmente te desaconsejo alterar las propiedades de la tabla de productos quitandole la propiedad de autoincremento. Existen varias relaciones a otras tablas que se basan en el Product-Id que el campo que asigna el numero de producto en Prestashop.

 

Como planteas el problema, supongo que no tienes un resplado previo a la actualizacion que hicistes.En ese caso, te sugiero que primero elimines los productos insertados mediante la importacion del archivo CSV, aunque sea manualmente.

 

Posteriormente utiliza la consola phpMyAdmin e indicale que abra tu base de datos, una vez aqui selecciona la tabla product y haz click en el boton OPERACIONES. Te mostrata varios cuadros de datos agrupados, te interesa el cuadro que indica opciones de la tabla en el encontraras la variable AUTO_INCREMENT seguida de un valor; sustituye en ese campo el valor que deseas, que como indicas en tu post seria 2102, es decir el proximo ID de producto.

 

Recuerda hacer un respaldo preventivo de tu base de datos.

 

Un saludo

 

Hola David, muy buenas.

 

Gracias por la respuesta.

 

Que productos tengo que borrar? todos o solo el que tiene el id "4294967295". Si tengo que borrarlos todos es eso lo que queria evitar, porque al importar un archivo CSV ya existe una opción de borrar todos los productos antes de importar los nuevos, de esta manera el recuento de los ids vuelve a empezar otra vez de 1. Es lo que hacia cuando empece la pagina. De esta manera habré solucionado el problema, pero tendré que volver a poner todas las fotos de nuevo, y que son mas de 2100, serian muchos días de trabajo a tope :wacko:

Link to comment
Share on other sites

Hola Shemsky;

 

Solo el que tiene el Id "4294967295".

 

Se trata de mantener los productos existentes en tu Base de Datos, hasta antes de la importacion mediante el CSV.

Por ello te señalaba que ajustadas el valor que asignara la base de datos para el proximo producto.

 

Si el CSV te agrego un solo producto, ese es el que eliminaras manualmente mediante el Back-Office de Prestashop.

Una vez eliminado ese registro, asignas el valor 2101 en el campo AUTO_INCREMENT de la tabla de productos.

 

Saludos

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Hablando de ID´s alguien sabe si se puede poner caracteres en el ID es decir BOL09-12 BOL09-13 etc..

 

ya que tengo productos identificador con caracteres y me es necesario hacerlo.

 

Gracias de antemano.

 

Ya vi en otros muros la solución (alterar la configuración de ID) pero saben que tablas más alterar, ya que al modificar el campo ID en ps_product me manda mensaje de error ya que hay liga con otras tablas.

 

Alguien sabrá la configuración de las tablas a modificar?

 

 

Gracias de antemano

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

  • 1 year later...

A mí me pasa justo lo mismo pero con categorías. Mi tienda tiene más de 30000 categorías y más de 4000 productos. El caso es que si subo nuevas categorías desde un archivo CSV (poniendo yo la id que deseo), se crean sin problema. El problema está al crear una sóla categoría directamente desde el Back Office. Salta el error de or occurred while creating an object. category().

Lo puse en modo Debbuging y el error era el siguiente:

 

Duplicate entry '4294967295' for key 'PRIMARY'.

 

¿No hay ninguna forma de agregar categorías desde el Back Office eligiendo tu propia ID? Si no es así... ¿qué solución puedo dar a esto? (Trabajo sobre Prestashop 1.5)

 

Tengo varias copias de seguridad hechas, pero me da pavor tocar la Base de Datos. Realmente he invertido muchísimo tiempo en lograr meter todas las categorías y todos los productos.

 

Muchas gracias de antemano.

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...