把几张相同结构的表放到一个表中,并且去掉重复的。(有级联关系)
<?phpheader("Content-Type:text/html; charset:utf-8");/*表结构:id fid name_ch……把几张相同结构的表放到一个表中,并且去掉重复的。(有级联关系)注意,fid 也是同表父级的id。处理流程:1.先处理最高级的:2.一条条处理,如果一条在目标表存在,则取出id,如果不存在,就插入,取出id,3.同时更新处理表的父级为本条记录的记录的fid*///standard_jgcd standard_lj standard_sj standard_sy$table = "standard_jgcd";//处理表//mysql_connect("202.204.54.212:3306","catalog","catalog");mysql_connect("localhost","root","1");mysql_select_db("cata");mysql_query("set names utf8");//三级,分级处理$i = 0;while($i++<3){$rs = mysql_query("select * from {$table} where rank = {$i}");//分级操作while($row = mysql_fetch_array($rs)){$id = "";$sql = "select * from standard where rank =' {$row}' and name_ch = '{$row}' and name_en = '{$row}' ";//echo $sql."<br/>";$rs1 = mysql_query($sql);$row_num = mysql_num_rows($rs1);if($row_num!= 0){//如果standard表中已经有这条数据,取出它的id,更新处理表table$row1 = mysql_fetch_array($rs1);$id = $row1;dump($row1);}else{//如果standard表中没有这条数据,插进去,取出它的id,更新处理表tablemysql_query("insert into standard (name_ch,name_en,rank,fid) values ('{$row}','{$row}',{$row},{$row})");$id = mysql_insert_id();echo "<br/>insert {$id}<br/>";echo "insert into standard (name_ch,name_en,rank,fid) values (select name_ch,name_en,rank,fid from {$table} where id = {$row})";}//更新table中的父id mysql_query("update {$table} set fid = {$id} where fid = {$row}");echo "<br/>".mysql_affected_rows();echo "<br/>update {$table} set fid = {$id} where fid = {$row}<br/>";}}function dump($rs){echo "<pre>";print_r($rs);echo "</pre>";}?>
页:
[1]