完美解決 (1146) Table 'cq090.common_member_archive' doesn't exist
下面是錯誤代碼
Discuz! Database Error
(1146) Table '***.common_member_archive' doesn't exist
REPLACE INTO common_member_archive SELECT * FROM common_member WHERE uid IN ('7','13','15','16','18','19','22','24','27','28','29','30','31','34','35','37','39','40','42','43','44','45','46','48','49','50','51','52','53','54','56','58','59','60','61','64','65','66','67','68','69','70','71','73','74','79','80','81','84','85','86','88','89','90','91','92','93','94','96','98','99','101','102','104','105','106','107','108','112','113','114','116','118','119','120','122','123','125','127','128','129','130','131','132','133','134','135','136','138','141','142','143','145','147','148','149','150','151','152','153')
PHP Debug
| No. | File | Line | Code |
| 1 | index.php | 126 | require(%s) |
| 2 | forum.php | 49 | discuz_application->init() |
| 3 | source/class/discuz/discuz_application.php | 70 | discuz_application->_init_cron() |
| 4 | source/class/discuz/discuz_application.php | 479 | discuz_cron::run() |
| 5 | source/class/discuz/discuz_cron.php | 42 | include(%s) |
| 6 | source/include/cron/cron_member_optimize_daily.php | 13 | table_common_member->split(%d) |
| 7 | source/class/table/table_common_member.php | 351 | discuz_database::query(%s, Array, false, true) |
| 8 | source/class/discuz/discuz_database.php | 136 | db_driver_mysql->query(%s, false, true) |
| 9 | source/class/db/db_driver_mysql.php | 151 | db_driver_mysql->halt(%s, %d, %s) |
| 10 | source/class/db/db_driver_mysql.php | 218 | break() |

解決方法 一
方法:即在站長—數據庫—升級 (Discuz! 數據庫升級 - 請將數據庫升級語句粘貼在下面中執行語句 :
注意 pre_ 如果你的數據庫前綴是別的請寫好。
複製代碼就可以了,若沒有找到執行語句的輸入窗口 則修改 config/config_global.php 當中的 $_config[admincp][runquery] 設置修改為 1 (為了安全執行完該語句後 確認解決了 1146 錯誤後 再將配置該回來 ) 刷新後再輸入執行。
為了數據安全執行該語句前建議備份數據
先備份表 pre_common_setting
- DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';
解決方法 二
方法:登陸 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