Heim > Datenbank > MySQL-Tutorial > MySQL中整条记录复制并插入方法

MySQL中整条记录复制并插入方法

WBOY
Freigeben: 2016-06-07 17:52:15
Original
1145 Leute haben es durchsucht

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

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

 代码如下 复制代码

INSERT INTO phpcms_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, prefix FROM phpcms_content WHERE contentid = '".$r[$i-1]['aid']."')

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

下面PHP具体程序:

 代码如下 复制代码

$query  = "SELECT * FROM articleincategory ORDER BY ArticleID  ";
$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 {
 if($i > 0)
 {
  if( $r[$i]['aid'] == $r[$i-1]['aid'] )
  {
   echo '第 '. $i. ' 条数据 '. $r[$i]['aid'] .' 与前一条数据 '. $r[$i-1]['aid'] .' 重复'.'
';
   $sql = " INSERT INTO phpcms_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, prefix FROM phpcms_content WHERE contentid = '".$r[$i-1]['aid']."') ";
   //$sql = " INSERT INTO phpcms_c_news (SELECT ".$r[$i]['aid']." + 520, template, titleintact, content, groupids_view, readpoint, author, copyfrom, paginationtype, maxcharperpage, sub_title FROM phpcms_c_news WHERE contentid = '".$r[$i-1]['aid']."')  ";
   echo $sql.'
';
   //$result = $connector -> query($sql);
   //INSERT INTO test (SELECT id + 10, name, class, score FROM test WHERE id = '1');
  }
  
  else if( $r[$i]['aid'] != $r[$i-1]['aid'] )
  {
   $sql = " UPDATE phpcms_content SET origin_cateid = '".$r[$i]['cateid']."' WHERE contentid = '".$r[$i]['aid']."'  ";
   echo $sql.'
';
   //$result = $connector -> query($sql);
  }
  
 }
}

如果不需要插入,则更简单:insert into mytable (select * from mytable where id=1) ON DUPLICATE KEY UPDATE id=2;

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage