Magento: BIGINT UNSIGNED value is out of range

¿Te ha ocurrido alguna vez que borrando productos en tu tienda de Magento has obtenido como respuesta un error parecido a esto: SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UNSIGNED value is out of range in ‘(“YOURDBNAME”.”q”.”items_count” – 1)’?. ¡Deja de sufrir, sabemos cómo arreglarlo!

Da igual cuál sea la versión de Magento que estés corriendo. El error de BIGINT UNSIGNED es a nivel de SQL y afecta a las tablas internas de tu tienda. En concreto a unas tablas temporales que esta plataforma de comercio electrónico crea de vez en cuando cuando hace operaciones.

Es frecuente en tiendas con grandes movimientos de productos recibir un error similar a éste. Las tablas de SQL se bloquean y se hace imposible eliminar un producto o varios. Afortunadamente y si sigues estos sencillos pasos, el problema desaparece sin afectar ni un ápice el funcionamiento de tu tienda, ni la integridad de los datos.

Mensaje de error

SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UNSIGNED value is out of range in ‘(“YOURDBNAME”.”q”.”items_count” – 1)’

donde YOURDBNAME es el nombre de tu base de datos.

Solución al problema de BIGINT UNSIGNED cuando borramos productos

  • Lo primero como siempre, y just in case, es hacer un backup de nuestra base de datos.
  • A continuación accedemos a ella ya sea mediante phpmyadmin, MySQL Workbench o cualquier SGBD.
  • Seleccionamos la base de datos.
  • Elegimos la tabla “sales_flat_quote
  • Y ahora la pestaña Structure (Estructura).
  • Marcamos la fila ‘items_count’ y elegimos Change (Cambiar).
  • Una vez que estemos viendo sus columnas, buscamos la columna “attribute” y cambiamos su valor por el primero del combo, el que es un valor en blanco. (Significa sin valor).
  • Pulsamos en Save (Guardar).

Ahora, nada tan simple como refrescar la página de administración de los productos y borrar el/los que queramos.

Más información: MagentoCommerce

Deja un comentario

No te preocupes por tu email, no será publicado.