我一直在设立一个基于WordPress的网站,其会员系统使用用户ID作为会员编号。
在测试期间,我已经让很多用户删除了它们。现在测试已经完成,当我创建一个新用户时,他们会得到25,26,27等ID ......
如何重置下一个用户ID'数字回落到2(或其他)所以新用户变为2然后3然后4等。
我需要在phpMyAdmin / SQL中的CPanel中做些什么吗?
答案 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.5的forbids 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