`
vanillalyx
  • 浏览: 64576 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

把几张相同结构的表放到一个表中,并且去掉重复的。(有级联关系)

    博客分类:
  • php
阅读更多
<?php

header("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[rank]}' and name_ch = '{$row[name_ch]}' and name_en = '{$row[name_en]}' ";
	//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[id];

		dump($row1);
	}else{//如果standard表中没有这条数据,插进去,取出它的id,更新处理表table
		mysql_query("insert into standard (name_ch,name_en,rank,fid) values ('{$row[name_ch]}','{$row[name_en]}',{$row[rank]},{$row[fid]})");
		$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[id]})";


	}
//更新table中的父id
	 mysql_query("update {$table} set fid = {$id} where fid = {$row[id]}");
echo "<br/>".mysql_affected_rows();
	echo "<br/>  update {$table} set fid = {$id} where fid = {$row[id]}<br/>";
}

}
function dump($rs)
{
echo "<pre>";
print_r($rs);
echo "</pre>";

}



?>
 
分享到:
评论

相关推荐

    kettle实现多表级联,输出一个目标表

    kettle实现多表级联,输出一个目标表

    MSserver自关联表的级联删除

    在SQL Server中,自关联表是指一个表中的某一列引用了该表的主键作为外键,形成一种树形结构,常用于表示层次关系的数据,如组织架构、目录树等。在这样的表中,级联删除是确保数据完整性的一个重要功能,即删除某条...

    实体Bean之间的级联关系

    实体Bean之间的级联关系是Java持久化框架如Hibernate或JPA中的一个重要概念,它涉及到对象关系映射(ORM)中的数据操作同步性。在数据库中,实体Bean通常代表表中的行,而实体间的级联关系则反映了表之间的关联。...

    Hibernate 一对多、多对一、级联、加载、反转

    如在前面的例子中,`Order`表与`User`表之间的关系就是多对一,因为一个订单可以关联到一个用户。在Hibernate中,我们使用`@ManyToOne`注解来定义这种关系,并且通常需要在关联的实体类上设置`@JoinColumn`注解来...

    级联字典的构造

    级联字典是一种在计算机科学和信号处理领域中常见的数据结构,特别是在图像处理、压缩编码和机器学习等应用中。这种字典构造方法是通过组合多个基础字典,以达到更丰富的表示能力和更高的编码效率。在本文中,我们将...

    Java中单表和多表级联的增删改查

    - 当两个或更多表之间存在关联时,例如一对多、多对一或多对多关系,级联操作会涉及到一个表的操作导致另一个表的相关数据也发生变化。例如,删除一个用户可能需要同时删除与之相关的所有订单。 - Hibernate等ORM...

    级联菜单 动态级联菜单

    级联菜单是一种常见的Web应用程序用户界面元素,它允许用户从多个选项中选择一个或多个项目。动态级联菜单是指可以根据实际情况动态生成选项的级联菜单。下面将对该技术进行详细的解释。 级联菜单的原理 级联菜单...

    中国城市三级级联表sql文件 mysql

    在这个案例中,我们可能有三个字段:province(省份)、city(城市)、district(区县),形成了一个从大到小的层级结构。这样的设计便于用户在前端进行逐级选择,同时在后台存储和查询时也能有效管理。 MySQL是...

    虚级联和连续级联的中文资料

    虚级联的一个主要优点是它可以动态调整带宽,根据实际需求增加或减少成员通道,这对于现代网络中变化多端的业务需求至关重要。 相邻级联(Contiguous Concatenation),又称为连续级联,是指将连续的物理通道(如VC...

    cas.rar_MATLAB 级联失效_级联_级联失效 代码_级联失效代码_级联失效算法

    标题中的"cas.rar"可能是一个包含MATLAB代码和相关资源的压缩文件,专门用于模拟和研究网络级联失效问题。"MATLAB 级联失效"指的是使用MATLAB来实现级联失效的模型和算法。"级联_级联失效 代码"则表明这个压缩包包含...

    javascript中的级联插件

    在JavaScript编程中,级联(Cascading)通常是指一种数据结构或操作方式,使得一个对象的状态或行为依赖于另一个对象。在这个场景下,"级联插件"指的是用于实现多级选择效果的工具,常见于下拉选择框(Select)的...

    sql数据库省市区表级联文件

    在描述中提到的“省市区表级联文件”,可以推测这个文件是关于如何在数据库中建立省、市、区之间的关系,并通过级联操作来实现数据的一致性管理。 - **级联更新**:当父表中的某个字段值发生改变时,自动更新所有子...

    动态树形结构的级联菜单

    综上所述,动态树形结构的级联菜单是网页设计中的一个重要组成部分,它结合了数据结构、前端技术、用户体验等多个领域的知识,为用户提供了一种高效、直观的信息导航方式。正确理解和应用这些知识点,可以帮助开发者...

    级联菜单 级联菜单级联菜单级联菜单

    级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单级联菜单...

    级联增删改查

    首先,"级联"(Cascade)操作是在数据库关系模型中,当对一个表中的记录进行添加、删除或修改时,会影响到与其相关的其他表中的记录。例如,在一对多或者多对多的关系中,如果删除了一个父记录,而这个父记录与多...

    hibernate的应用表之间的级联关系

    本篇将深入探讨Hibernate中的一个关键特性——表之间的级联关系。级联关系是指在对一个实体进行操作时,同时对与之相关联的其他实体进行相同的操作。这在处理一对多、多对一、多对多等关联关系时特别有用。 **一、...

    datagrid中combobox的级联

    在描述的示例中,我们有两个级联的 `combobox`:一个表示省份,另一个表示市区。当用户选择一个省份时,市区的 `combobox` 会根据所选省份的 ID 通过 AJAX 调用获取对应的城市列表,并更新其选项。这个过程可以通过...

    一个用jquery写的级联完整例子

    本示例是一个基于jQuery实现的级联功能,同时也包含了与MySQL数据库交互的代码,这在实际项目中非常实用。 首先,jQuery是一个轻量级的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作以及Ajax交互...

    多个74HC595级联

    1. **数据流向**:在一个级联系统中,第一个74HC595的输出Q7连接到下一个芯片的输入SDI。 2. **控制信号共享**:所有74HC595的SHCP和SRCP通常都由同一时钟源驱动,以确保数据同步移位和存储。 3. **清零输入**:如果...

Global site tag (gtag.js) - Google Analytics