对不起,忘记说一点了,我的mysql数据表的信息,只有一点不一样,就是每条的id不一样,请问我该怎么删除重复的记录,谢谢
解决方案 »
- What PHP ORM (object relational mapper) are you using
- php.ini到底用不用拷到windows安装目录下?
- win2003+iis+php出现莫名错误
- ■■■■□□□□付费征求旅游景点网站设计方案
- 关于php调用mysql的存储过程~一个基础的问题。大家帮下忙~
- smartemplate分块缓存问题,请唠叨做答
- 一个div连接的内容在另外个div中显示,JS如何写????
- 商店提供下载
- 菜鸟问题,有关include..大家碰到过这种情况没有.
- 这个正则表达式怎么写??
- *****各位,网页“推”的技术如何了!!!
- 用什么方法可以防止随机数重复出现?
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
用insert和select 结合的方式把相异的记录插入一个新表中
在删除旧表就可以了
遍历所有的记录,依次比较第i和第i+1条(除了id)所有的字段,如果全相等就del it.
再难点的,叫楼上的高手给你回答吧,
$array=array();
while($arr=mysql_fetch_array($result)){
$tmpArr=array_unique($arr);
array_shift($tmpArr);
if(in_array($tmpArr,$array)){
mysql_query("delete from table where id=".$arr[id]);
}else{
$array[]=$tmpArr;
}
}
进入phpMyAdmin 2.2.6然后就可以了
(OPTIMIZE 只能帮助你优化,不能帮助你完成去掉重复纪录的功能)
能否用sql语句来实现?
关键是你如何生成临时表并且同时能够删除那些关键字key1,key2段重复?谁能写出sql语句,就算成功!各位不能只会说而不会写
array_shift();
in_array();谁能解释下这几个函数的意思,最近小弟经常看见别人用数组方面的函数,但都看不懂,谁能指点下在那有这方面的文章可以看看,谢谢!
array_shift($arr)将数组第一个元素踢出去
in_array($var,$array);判断$var是否为$array的一个元素,$var可以为数组
谢谢指教optimize的用法---试验中
楼主的问题用临时表是比较好的解决方法
新建一个临时表
create table tmp as select * from youtable group by name
删除原来的表
drop table youtable
重命名表
alter table tmp rename youtable(mysql4.0.2版本以上支持!!!!!)其中的name也就是重复的字段
本来以为你的group by有问题,结果竟然是正确的。因为sqlserver里面group by必须有聚合函数配合,mysql竟然没有这个限制。
不过你创建临时表错误,因为那不叫临时表,只是一个中间表而已。完整的sql语句:
create table tmp as select * from tableName group by key1,key2
alter table tmp rename youtable(我的mysql3.23就支持)