位置:首页 > 数据库 > MySQL
MySQL 浅析整条记录复制并插入
日期:2023-05-13 人气:

大家好,对MySQL中整条记录复制并插入方法感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看MySQL中整条记录复制并插入方法的例子吧。

MySQL中整条记录复制并插入方法 大致方法是先查出所需要复制到记录然后财插入,条件是两个表的记录结果数据类型都必须完全一样才行.

从 MSSQL 中导出一个文章表,需要插入到 PHPCMS 中的内容表 phpcms_content 去,需要做到文章可以发布到不同的栏目中去,也就是说,需要复制一条记录,并修改其 catid,再插入到表尾的位置上,代码如下:

INSERTINTOphpcms_content(SELECT".$r[$i]['aid']."+520,".$r[$i]['cateid'].",news_catid,catid,typeid,areaid,title,style,thumb,keywords,keywords,posids,url,listorder,status,userid,username,inputtime,updatetime,searchid,islink,prefixFROMphpcms_contentWHEREcontentid='".$r[$i-1]['aid']."')

大致为:insert into a SELECT id+1, ...(其它字段) FROM a ;

下面PHP具体程序,代码如下:

$query="SELECT*FROMarticleincategoryORDERBYArticleID"; $result=$connector->query($query);
$i=0; while($myrow=$connector->fetch_array($result))
{ $r[$i]['aid']=$myrow["ArticleID"];
$r[$i]['cateid']=$myrow["CategoryID"]; $i++;
} for($i=0;$i<count($r);$i++)
{ if($i>0)
{ if($r[$i]['aid']==$r[$i-1]['aid'])
{ echo'第'.$i.'条数据'.$r[$i]['aid'].'与前一条数据'.$r[$i-1]['aid'].'重复'.'<br/>';
$sql="INSERTINTOphpcms_content(SELECT".$r[$i]['aid']."+520,".$r[$i]['cateid'].",news_catid,catid,typeid,areaid,title,style,thumb,keywords,keywords,posids,url,listorder,status,userid,username,inputtime,updatetime,searchid,islink,prefixFROMphpcms_contentWHEREcontentid='".$r[$i-1]['aid']."')"; //$sql="INSERTINTOphpcms_c_news(SELECT".$r[$i]['aid']."+520,template,titleintact,content,groupids_view,readpoint,author,copyfrom,paginationtype,maxcharperpage,sub_titleFROMphpcms_c_newsWHEREcontentid='".$r[$i-1]['aid']."')";
echo$sql.'<br/>'; //$result=$connector->query($sql);
//INSERTINTOtest(SELECTid+10,name,class,scoreFROMtestWHEREid='1'); }
elseif($r[$i]['aid']!=$r[$i-1]['aid'])
{ $sql="UPDATEphpcms_contentSETorigin_cateid='".$r[$i]['cateid']."'WHEREcontentid='".$r[$i]['aid']."'";
echo$sql.'<br/>'; //$result=$connector->query($sql);
}--q3060.com
} }

如果不需要插入,则更简单:

insert into mytable (select * from mytable where id=1) ON DUPLICATE KEY UPDATE id=2;

 

您可能感兴趣的文章