Jowysan Posted August 27, 2013 Share Posted August 27, 2013 (edited) Buenos días, Versión: Prestashop 1.5.4.1 URL: aún en localhost. Tengo un nuevo problema con toda la integración de productos, supongo que ese es el problema de crear una nueva tienda partiendo de la BD de otra en lugar de empezar de cero, pero como no tengo más remedio... El problema reside en que al añadir un valor al atributo, me sale un error de duplicidad de identificador (clave principal): Se ha producido un error mientras se creaba el objeto attribute (Duplicate entry '7-1' for key 'PRIMARY') No se como hacer para que me deje entrar estos valores. Gracias de antemano. Edited August 27, 2013 by Jowysan (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted August 27, 2013 Share Posted August 27, 2013 Revisa este tema: http://www.prestasho...jeto-attribute/ y si puedes revisa tambien este tema: http://www.prestashop.com/forums/topic/232099-an-error-occurred-while-creating-object-attribute-duplicate-entry-7-1-for-key-primary/ Link to comment Share on other sites More sharing options...
Jowysan Posted August 27, 2013 Author Share Posted August 27, 2013 Solución encontrada: He probado dos sistemas, que si bien son más lentos, son mucho más fiables y no te limita para nada en la edición de carácteres para designar los atributos y sus valores. Lo primero que hay que tener en cuenta que cuando sale este error es por que se ha generado un nuevo id en la tabla (ps)_attribute pero en (ps)_attribute_lang no se genera el registro correspondiente, entonces: 1. Esta opción no se si se puede hacer en versiones anteriores, está probado en versión:1.5.4.1. Desde el back office en la pestaña Catalogo -> Atributos y valores en el atributo deseado clicar el icono de +. Se abrirá la pestaña de los valores , como podeis comprobar el registro del nuevo valor se ha generado, pero no se guardado el nombre de este. Bien, ahora simplemente clicar en la pestaña modificar y de nuevo añadir el nombre que deseis. En este caso SI que os guardará el nombre al hacer Update del registro. (He querido añadir imagenes pero no puedo postearlo, si alguien me quiere iluminar, lo agradeceré) 2. Puede hacerse desde atrás en MySql aunque puede ser peligroso, si podeis, utilizad alguna aplicación de interficie gráfica para sgbd (phpmyadmin o MySql Workbench) y simplemente hacer un insert del nuevo id_attribute en (ps)_attribute_lang teniendo en cuenta el id del attributo que se ha generado en (ps)_attribute. Si queréis saber que id_lang tiene debéis mirar en (ps)_attribute_group_lang el campo id_lang y el name para saber si es el atributo deseado. Gracias por la ayuda Nadie. Un saludo. Link to comment Share on other sites More sharing options...
nadie Posted August 27, 2013 Share Posted August 27, 2013 Solución encontrada: He probado dos sistemas, que si bien son más lentos, son mucho más fiables y no te limita para nada en la edición de carácteres para designar los atributos y sus valores. Lo primero que hay que tener en cuenta que cuando sale este error es por que se ha generado un nuevo id en la tabla (ps)_attribute pero en (ps)_attribute_lang no se genera el registro correspondiente, entonces: 1. Esta opción no se si se puede hacer en versiones anteriores, está probado en versión:1.5.4.1. Desde el back office en la pestaña Catalogo -> Atributos y valores en el atributo deseado clicar el icono de +. Se abrirá la pestaña de los valores , como podeis comprobar el registro del nuevo valor se ha generado, pero no se guardado el nombre de este. Bien, ahora simplemente clicar en la pestaña modificar y de nuevo añadir el nombre que deseis. En este caso SI que os guardará el nombre al hacer Update del registro. (He querido añadir imagenes pero no puedo postearlo, si alguien me quiere iluminar, lo agradeceré) 2. Puede hacerse desde atrás en MySql aunque puede ser peligroso, si podeis, utilizad alguna aplicación de interficie gráfica para sgbd (phpmyadmin o MySql Workbench) y simplemente hacer un insert del nuevo id_attribute en (ps)_attribute_lang teniendo en cuenta el id del attributo que se ha generado en (ps)_attribute. Si queréis saber que id_lang tiene debéis mirar en (ps)_attribute_group_lang el campo id_lang y el name para saber si es el atributo deseado. Gracias por la ayuda Nadie. Un saludo. Me alegro de que hayas podido solventar el problema ! Cierro tema. Saludos ! Link to comment Share on other sites More sharing options...
Recommended Posts