◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
今天讲mysql数据库管理中,怎么在phpmyadmin中使用sql命令一键批量修改替换符合指定范围和条件的字段的值,拿zblog网站程序举例,本站长也是遇到这样一个问题,想要删除某些文章,但又不想永久删除无法找回,想着删除到回收站,后台安装了回收站插件,但是如果有很多大量的文章手动删除不现实的时候,我们就可以通过sql命令执行,回收站插件是为了方便以后文章想要恢复而使用的首段,这个方法适用于网站违规内容引起的降权想要暂时删除违规文章,等到网站权重恢复后想要恢复被删除的文章的朋友。
安装了回收站插件会新增3个表,分别是log_Status,log_Type,log_Meta,而使用了文章回收站删除后的文章,这三个地段分别变成了:
log_Status=33,log_Type=88,log_Meta=a:1:{s:14:"ArticleRecycle";a:3:{s:11:"RecycleType";s:1:"0";s:13:"RecycleStatus";s:1:"0";s:7:"DelTime";i:1690187536;}}如图所示:
而这三个字段原先正常值为log_Status=0,log_Type=0,log_Meta=空白,所以我们要分为两步(以文章ID87334到文章ID98712为例):
第一步:替换log_Status=0,log_Type=0为log_Status=33,log_Type=88,命令如下:
update zbp_post set log_Status=33 ,log_Type=88 where log_ID>87334 and log_ID<98172 and log_Status=0 and log_Type=0;
第二步:替换log_Meta=为log_Meta=a:1:{s:14:"ArticleRecycle";a:3:{s:11:"RecycleType";s:1:"0";s:13:"RecycleStatus";s:1:"0";s:7:"DelTime";i:1690187536;}},命令如下:
update zbp_post set log_Meta='a:1:{s:14:"ArticleRecycle";a:3:{s:11:"RecycleType";s:1:"0";s:13:"RecycleStatus";s:1:"0";s:7:"DelTime";i:1690184566;}}' where log_ID>87334 and log_ID<98172 ;
执行以上两步sql语句即可,操作前先备份数据库!