升级到X3.5的数据库因操作失误被覆盖了,重新还原到X3.4再升级时出错了,如下:
Discuz!Database Error(1062) Duplicate entry '' for key 'username' ALTER TABLE common_member_archive CONVERT TO CHARACTER SET utf8mb4COLLATE utf8mb4_unicode_ci; PHP Debug No. | File | Line | Code | 1 | install/update_adult.php | 411 | discuz_database::query(%s) | 2 | source/class/discuz/discuz_database.php | 142 | db_driver_mysqli->query(%s, false, false) | 3 | source/class/db/db_driver_mysqli.php | 147 | db_driver_mysqli->halt(%s, %d, %s) | 4 | source/class/db/db_driver_mysqli.php | 222 | break() |
如果您是站长,建议您尝试在管理中心 更新缓存 ,您也可通过 Discuz! 官方站 寻求帮助。如果您确定这是一个程序自身Bug,您也可以直接 提交Issue 给我们 bbs.myptfe.com 已经将此出错信息详细记录, 由此给您带来的访问不便我们深感歉意
1 贡献最佳答案
进入数据库,执行语句:
select uid from pre_ucenter_members where username in (select username from pre_ucenter_members group by convert(username using utf8mb4) collate utf8mb4_unicode_ci having count(1) > 1)
再将异常用户改名
,如果UC表查询无异常,上述语句中表名可以更换为(pre_common_member_archive)
|