MySql中把一个表的数据插入到另一个表中的实现代码.docx
MySql中把一个表的数据插入到另一个表中的实现代码将一个数据库的表数据导入到 另一个数据库的表的时候是这么写的<phpheader("Content-type:text/html;charset=utf-8");$conn = mysql_connect("localhost","root","");mysql_select_db('nnd',$conn);mysql_select_db('ahjk',$conn);mysql_query("set names utf8");$sql = mysql_query("select content,partid from phpcms_c_disease order by contentid desc limitdemo'(content,parid) VALUES"while($row = mysql_fetch_assoc($sql)$sql1.="('$rowcontent','$rowpartid'),")$sql1.=")"$sql2 .= str_replace(",)","",$sql1);mysql_query($sql2);>没想到我会这么二写出这么垃圾的代码.下面给大家说下比拟好的方法web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个 sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明:1 .如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO 目标表 SELECT * FROM 来源表;insert into insertTest select * from insertTest2;2 .如果只希望导入指定字段,可以用这种方法:INSERTINTO目标表字段1,字段2, . SELECT字段1,字段2, . FROM源表;这 里的话字段必须保持一致insert into insertTest2(id) select id from insertTest2;* from insertTest2* from insertTest3 .如果您需要只导入目标表中不存在的记录,可以使用这种方法:INSERT INTO 目标表字段1,字段2,.SELECT字段 1,字段 2,.FROM来源表WHERE not exists select * from 目标表where目标表.比拟字段=来源表.比拟字段;1>.插入多条记录:insert into insertTest2(id, nameselect id, namefrom insertTestwhere not exists (select where =;2>.插入一条记录:insert intoinsertTest(id,nameSELECT 100, 'liudehua'FROM dualWHERE not exists (select where = 100);