Discuz! Database Error(1146) Table '****.common_member_archive' doesn't existREPLACE INTO common_member_archive SELECT * FROM common_member WHERE uid IN ('8','9','10')
PHP Debug
No. | File | Line | Code | 1 | forum.php | 49 | discuz_application->init() | 2 | source/class/discuz/discuz_application.php | 70 | discuz_application->_init_cron() | 3 | source/class/discuz/discuz_application.php | 482 | discuz_cron::run() | 4 | source/class/discuz/discuz_cron.php | 42 | include(%s) | 5 | source/include/cron/cron_member_optimize_daily.php | 13 | table_common_member->split(%d) | 6 | source/class/table/table_common_member.php | 364 | discuz_database::query(%s, Array, false, true) | 7 | source/class/discuz/discuz_database.php | 136 | db_driver_mysql->query(%s, false, true) | 8 | source/class/db/db_driver_mysql.php | 151 | db_driver_mysql->halt(%s, %d, %s) | 9 | source/class/db/db_driver_mysql.php | 218 | break() |
解决方法 一 方法:即在站长—数据库—升级(Discuz! 数据库升级 - 请将数据库升级语句粘贴在下面中执行语句 : 注意pre_ 如果你的数据库前缀是别的请写好。
复制代码就可以了,若没有找到执行语句的输入窗口 则修改config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1 (为了安全执行完该语句后 确认解决了1146错误后 再将配置该回来 ) 刷新后再输入执行。
为了数据安全执行该语句前建议备份数据 先备份表pre_common_setting 邱嵩松推荐这种方法,你可以在PHPMYADMIN里执行这句代码
解决方法 二 方法:登陆phpmyadmin 然后找到对应的数据库表。分别对如下表进行备份 pre_common_member pre_common_member_profile pre_common_member_field_forum pre_common_member_field_home pre_common_member_status pre_common_member_count 然后分别复制一份并命名后面加_archive 最后就可以在 工具-计划任务 - 每日用户表优化 。运行了。如果还报错就继续复制数据表命名加_archive。
|