服务器君一共花费了176.605 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议
先把需求说一下吧。从MSSQL 中导出一个文章表,需要插入到 PHPCMS 中的内容表 phpcms_content 去,需要做到文章可以发布到不同的栏目中去。也就是说,需要复制一条记录,并修改其 catid,再插入到表尾的位置上。
MySQL复制一条数据并插入的语句:
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; $i0)	{	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;
或者: update mytable set id=2 where id=1;
不打个分吗?
如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
分享到:新浪微博腾讯微博QQ空间人人网豆瓣网一键分享
小提示:您可以按快捷键 Ctrl + D,或点此

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。
奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。
所以,阅读一百本计算机著作吧,少年!
《Python在Unix和Linux系统管理中的应用》 Noab Gift (作者), Jeremy M.Jones (作者)