He estado configurando un sitio web basado en WordPress con un sistema de membresía que utiliza la ID de usuario como número de membresía.
Durante las pruebas, hice muchos usuarios y luego los eliminé. Ahora que la prueba está completa, cuando creo un nuevo usuario, obtienen una ID de 25, 26, 27, etc.
Cómo puedo restablecer el número de ‘ID de usuario siguiente’ a 2 (o lo que sea) para que los nuevos usuarios se conviertan en 2, luego en 3, luego en 4, etc.
¿Es algo que necesito hacer en CPanel en phpMyAdmin/SQL?

jqlee85
Sí, puedes hacerlo con phpMyAdmin o SQL.
Primero entra en el usuarios_wp tabla y elimine los usuarios que necesite.
Luego entra en el wp_usermeta table y elimine las metaentradas que correspondan a los ID de esos usuarios eliminados.
Entonces tienes que modificar el usuarios_wp tabla para restablecer su valor de incremento automático. Entonces puede hacerlo en phpMyAdmin, o usar SQL como este:
ALTER TABLE `wp_users` AUTO_INCREMENT={ID you want to be used next}
Entonces, si desea que el próximo usuario creado tenga el número de identificación 4, se vería así:
ALTER TABLE `wp_users` AUTO_INCREMENT=4
Si tratas de alterar wp_users
con MySQL 5.7.5+ obtendrá el siguiente error:
Valor predeterminado no válido para ‘user_registered’
Esto se debe a que el NO_ZERO_DATE
el modo era agregado como predeterminado en MySQL 5.7.5 cual prohíbe la fecha 0000-00-00
. WordPress establece el valor predeterminado para user_registered
para 0000-00-00 00:00:00
por lo tanto este error.
No estoy seguro de cuál es la mejor solución, pero debido a que cambiar las ID de usuario es bastante complicado en primer lugar, esta fue mi solución rápida.
Consulté el valor predeterminado (sesión) sql_mode
:
SELECT @@SESSION.sql_mode;
(para mí el 5.7.28 esto fue ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
)
quite NO_ZERO_IN_DATE
y NO_ZERO_DATE
de esto, y luego establecer sql_mode
antes de modificar la tabla:
SET SESSION sql_mode="(mode string from above without NO_ZERO_DATE)";
ALTER TABLE `wp_users` AUTO_INCREMENT = 2;
Posible duplicado de esto.
– forrestmid
01/04/2017 a las 21:50