mysql怎么去除重复数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么去除重复数据相关的知识,希望对你有一定的参考价值。

MySQL 删除重复数据

有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。

本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。

删除重复数据

如果你想删除数据表中的重复数据,你可以使用以下的SQL语句:

from 树懒学堂 - 一站式数据知识平台

当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下:

参考技术A //去除重复的数据 如果是重复的只显示1个
select distinct d_name from tbl_vod
--下面是查出重复的记录
select d_name from tbl_vod
minus
select distinct d_name from tbl_vod

mysql 自动插入重复数据

刚写完一个插入数据库的程序,可是mysql却出现了怪病,语句如下:
$userid = $_SESSION[USERID];
$userip = $_SERVER['REMOTE_ADDR'];
$log_time = date("Y-m-d H:i:s");
$sql = "insert into login_log(userid,userip,state,log_time) values ('$userid','$userip','$result','$log_time')";
mysql_query($sql);
每执行一次操作,居然插入2条重复数据,有时是3条,请较高手是这么回事?
附表login_log结构:
CREATE TABLE `login_log` (
`lid` int(10) NOT NULL auto_increment,
`userid` int(10) NOT NULL,
`userip` varchar(15) NOT NULL,
`state` int(1) NOT NULL default '0',
`log_time` datetime NOT NULL,
PRIMARY KEY (`lid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;

参考技术A 你的程序只调用一次mysql_query($sql)不会插入两条的,可能是重复调用了,比如客户在特殊时刻刷新。 参考技术B 检查一下FORM标签,里面是否有OnSubmit方法,若有,检查点击提交表单时,是否提交了多次,

我以前有次就是这样,onsubmit="check();",<input type="submit" ...>,然后一点就加了两个记录本回答被提问者采纳

以上是关于mysql怎么去除重复数据的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询时如何去除重复数据

mysql 如何去除表连接查询出来的重复数据

mysql 根据两个字段值查询时如何去除重复数据

mysql UNION 有重复的数据,怎么解决

mysql UNION 有重复的数据,怎么解决

sql 怎么查询不重复数据