重置Wordpress'下一个用户ID'数

时间:2017-04-01 21:46:56

标签: php mysql wordpress

我一直在设立一个基于WordPress的网站,其会员系统使用用户ID作为会员编号。

在测试期间,我已经让很多用户删除了它们。现在测试已经完成,当我创建一个新用户时,他们会得到25,26,27等ID ......

如何重置下一个用户ID'数字回落到2(或其他)所以新用户变为2然后3然后4等。

我需要在phpMyAdmin / SQL中的CPanel中做些什么吗?

2 个答案:

答案 0 :(得分:1)

是的,您可以使用phpMyAdmin或SQL。

首先进入 wp_users 表并删除您需要的所有用户。

然后进入 wp_usermeta 表并删除与这些已删除用户的ID相对应的所有元条目。

然后,您需要更改 wp_users 表以重置其自动增量值。所以你可以在phpMyAdmin中做到这一点,或者像这样使用SQL:

ALTER TABLE `wp_users` AUTO_INCREMENT={ID you want to be used next}

因此,如果您希望下一个创建的用户拥有ID号4,它将如下所示:

ALTER TABLE `wp_users` AUTO_INCREMENT=4

答案 1 :(得分:0)

如果您尝试使用MySQL 5.7.5+更改const state = { state1, state2, state3: 'same-value'; }; ,则会出现以下错误:

“ user_registered”的默认值无效

这是因为static float weightedMean(List<Double> value, List<Integer> weighted, int n) { int sum = 0; double numWeight = 0; for (int i = 0; i < n; i++) { numWeight = numWeight + value.get(i).doubleValue() * weighted.get(i).intValue(); sum = sum + weighted.get(i).intValue(); } return (float) (numWeight) / sum; } 模式是added as default in MySQL 5.7.5forbids the date 0000-00-00。 WordPress将wp_users的默认值设置为NO_ZERO_DATE,因此会出现此错误。

我不确定最好的解决方案是什么,但是因为更改用户ID首先很麻烦,所以这是我的快速解决方案。

我查询了默认(会话)user_registered

0000-00-00 00:00:00

(对于我来说,在5.7.28上,这是sql_mode

我从中删除了SELECT @@SESSION.sql_mode; 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,然后在更改表格之前为其设置了NO_ZERO_IN_DATE

NO_ZERO_DATE