日期:2014-05-16 浏览次数:20762 次
mysql教程 数据表合并并且只重复数据只读取一条
//首先我们来盾mysql sql结构了,用了union联合查询与insert into 来整表复制了。
mysql_connect("localhost","root","root") or die('Database Server Uid or Password Error!');
mysql_select_db('ip') or die('data !');
mysql_query("SET NAMES 'gb2312'");//设置文档与数据库教程编码一致就OK,否则会出乱码
/*
?先我们创建数据表a111cnnet 与b111cnnet,c111cnnet? 表,现在我要把b111cnnet,c111cnnet导入到a111cnnet表中,并且如果二张表有相同记录只保存一条。
?
?三个表的结构是一样的如下
?? id mediumint(8)?? UNSIGNED 否 0???????????????
?? fid smallint(6)?? UNSIGNED 否 0???????????????
?? allowview tinyint(1)?? 否 0???????????????
?? allowpost tinyint(1)?? 否 0???????????????
?? allowreply
?表b111cnNet记录
?1,2,3,6,4
?2,3,6,5,4
?
?表c111cnNet记录
?1,2,3,4,5
?4,6,5,2,8
?
?现在我们来查询
*/
?
$sql = "insert into a111cnNet (select * from ((select * from b111cnNet) union (select * from c111cnNet)) as tt group?? by?? id)";
mysql_query($sql);//结果为
/*
?表a111cnNet记录
?
?1,2,3,4,5
?2,3,6,5,4
?4,6,5,2,8
?
?解析
?insert into 全表导入
?union? 联合查询
?