帝国CMS:如何将news主表中的数据复制到news_data_1副表中?
场景描述:
采集部分数据后,newstext字段写入时出现了问题,但页面已经生成,为避免产生404不能直接删除问题页面,现需要将主表news中的简介字段smalltext内容复制到副表news_data_1的newstext中,以代替部分数据。
操作步骤:
1.备份数据库【必须操作,避免数据丢失或操作出错!】
2.打开phpMyadmin,进入数据库命令行,输入查找命令,查看全部的有问题数据,确认数量。
3.输入一下命令:
1 UPDATE 2 `***_ecms_news_data_1` a 3 INNER JOIN 4 (SELECT 5 id, 6 smalltext 7 FROM 8 `***_ecms_news`) b 9 ON a.id = b.id SET a.`newstext` = b.smalltext WHERE newstext='False';
4.执行后,观察数据条数,与搜索出来的保持一致后,进入后台进行刷新即可。
案例总结:
将A表中的数据有条件的同步到B表中某字段,
命令模式:
UPDATE `tableA` a INNER JOIN (SELECT id, nameB FROM `tableB`) b ON a.idA = b.idB SET a.`nameA` = b.nameB WHERE nameA='False';
说明:
tableA,即需要被写入数据的表,tableB,即需要被读取数据的表;
a.idA和b.idB,即tableA和tableB中某id值相同的字段进行对应;
表意:
将A表中的nameA字段,值为'False'的值,替换为B表中和A表ID相同的行,且字段为nameB的数据值。
文章参考: