一个表中的某字段中所有的数据,复制到另一个表中

时间:2021-06-30 15:35:32

  项目要求,织梦被黑了,又不太会修复织梦的漏洞。决定换一个自己开发的后台吧!问题来了,织梦中的文章数据要全部拿出来,导入到新的后台中。

  因为,现有后台的数据表跟织梦的表的结构完全不一样,再加上织梦用于保存文章是用了,dede_addonarticle,dede_archives,这两个表。现在是要将两个表中有用的字段的数据 复制到一个新的表中的一个字段内。

  第一步,同步他们的主键,dede_addonarticle的主键是aid,dede_archives的主键是id

    1,一张写好了结构的,没有数据的表(new_table),就是 我们要导入数据 到这张表的是

    2,空白表中的主键字段是id,因为现在是空白的,所以要先插入与dede_addonarticle,dede_arthives相同的主键

    这步操作是在同一个数据库中进行的,如果要进行跨库的操作,我也没有研究(将另一个库的表导入到这个库中作处理,完成了再导出,导入另一个库中)

    现在用sql命令语句

    Insert into new_table(id) select aid from dede_addonarticle(因为dede_addonarticle的主键是aid呀)

    这样就可以做到主键同步了。

  第二步,同步其它数据

    update new_table set new_table.seo_title = (select dede_addonarticle.seo_title from dede_addonarticle  where new_table.id = dede_addonarticle.aid)

    其它数据都用这个语句去同步,如现在是同步head部标签中title标签的内容

    注:如要将a表 title字段复制到b表中,那么b表的这个字段名字是没有要求的,可以是任何字段名。上例中是seo_title这个是刚好同名,请不要对号入座

  第三步,将整理好的数据表导出,再重新导入到新的数据库中,这样就完成了数据的按字段复制。

 

这个做法相对简单,当然没做过遇到了也是一个问题,所以在这里记录下来,如果有更好的方法请给我留言提出谢谢。