Problema con base de datos en WordPress wp_posts y clave primaria

  • Autor Autor iniciopublic
  • Fecha de inicio Fecha de inicio
iniciopublic

iniciopublic

Préstamo
Ómicron
Verificación en dos pasos activada
Verificado por Whatsapp
De repende mi web en wordpress no me dejaba funcionar correctamente, no me dejaba publicar un articulo y me mostraba un problema en el editor mostran el mensaje : "Estás editando la página que muestra tus últimas entradas."


Buscando por Internet parece que es un problema de la base de datos, al entrar a la tabla wp_post phpmyadmin me sale este mensaje "La selección actual no contiene una columna única. La edición de la grilla y los enlaces de copiado, eliminación y edición no están disponibles" no puedo modificar los datos de la tabla , también veo que la estructura es distinta cualquier otra base de datos en wordpress , la tabla wp_posts por ejemplo el ID no tiene autoincremento y no tiene llave primaria cuando debería tenerlo. Intento asignarlo pero me aparece este error :
ALTER TABLE `wp_posts` ADD PRIMARY KEY(`ID`);

MySQL ha dicho: Documentación

#1062 - Entrada duplicada '0' para la clave 'PRIMARY'
Captura de pantalla de 2019-12-01 19-59-38.webp


¿Alguna forma de solucionar este problema? ya he actualizado el wordpress , usado plugin para "reparar" base de datos pero nada me a funcionado

Les agradezco su ayuda
 
Revisa con esto cual es la entrada que te marca como duplicada:

SQL:
SELECT * FROM wp_posts WHERE ID = 0

Solo debe haber una, así que si hay más de una, tendrás que eliminar o cambiar el ID de la entrada duplicada.

Luego de eso la sentencia SQL puede que te funcione (aunque faltaría agregarle auto_increment) o te de nuevamente un error, el cual supongo que sería porque tus post están duplicados en la tabla.

kj
 
Revisa con esto cual es la entrada que te marca como duplicada:

SQL:
SELECT * FROM wp_posts WHERE ID = 0

Solo debe haber una, así que si hay más de una, tendrás que eliminar o cambiar el ID de la entrada duplicada.

Luego de eso la sentencia SQL puede que te funcione (aunque faltaría agregarle auto_increment) o te de nuevamente un error, el cual supongo que sería porque tus post están duplicados en la tabla.

kj
Después de verificar efectivamente si hay duplicados , no solo de 0 , también de otros números 🙁, borrarlos también implicaría borrar los post 🙁
 
Pues te tocará generarle nuevos IDs para no borrarlos, aunque si tienes mal la estructura por algún motivo, quizá igual tengas mal la estructura de otras tablas, por lo que recomendaría intentar migrar todo a una instalación limpia.
 
Pues te tocará generarle nuevos IDs para no borrarlos, aunque si tienes mal la estructura por algún motivo, quizá igual tengas mal la estructura de otras tablas, por lo que recomendaría intentar migrar todo a una instalación limpia.
creo que si sera mejor migrar todo ¿alguna idea para migrarlo?
 
Por lo pronto lo que se me ocurre sería:

Considerando que ya tiene mal los IDs, seguramente igual le fallen las imágenes destacadas y algunas otras cosas que en BD se relacionan según el ID del post, por lo que arreglaría primero esos IDs malos:

SQL:
ALTER TABLE wp_posts DROP ID;

ALTER TABLE wp_posts ADD ID int AUTO_INCREMENT PRIMARY KEY;

Con eso los IDs que tengas ya serán únicos, luego solo te quedaría exportar e importar con ayuda del importador del mismo wordpress o alguno similar a una instalación limpia. En la otra instalación ya solo te quedaría arreglar los detalles, como las imágenes.

Recomendaría también intentar ver que fue lo que ocasionó este problema para intentar que no se repita, ya que a veces puede que se deba a un problema del plugin o theme o algún script extra, aunque lo normal es que se haya dañado en una migración, no necesariamente una hecha por ti, igual puede ser una hecha por tu hosting shared al moverte de nodo (siempre pueden romper algo al migrar tantos sitios).

PD: Si solo fueran tuplas duplicadas, con eliminar las duplicadas bastaría para poder migrar todo más fácil.

kj
 
voy hacer una respaldo XML del todo la web y lo voy a volver a importar en un wordpres nuevo , estere avisando como me ira 😉
 
Atrás
Arriba