十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
思路:数据库如果存在就更新,不存在就插入
盐田网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联建站成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
首先:1.对你要设置的表,点击右键--管理索引--新建--选择要唯一的主键--在“索引选项”中选择“唯一性”--应用
思路:数据库如果存在就更新,不存在就插入
1.对你要设置的表,点击右键--管理索引--新建--选择要唯一的主键--在“索引选项”中选择“唯一性”--应用
2、语句:INSERT INTO 表名(字段,字段,字段,字段) VALUES ('127.0.0.5','1',NOW(),NOW())
ON DUPLICATE KEY UPDATE 字段 = online_num+1,last_time = NOW();
自己延伸一下就明白了
场景:表中包含有group_id,worker_id,status字段,查询这三个字段是否存在重复的数据。
查找某个人在某个班组内存在多个status为0的数据
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来,并设置status为1
将查询查询结果作为where in的条件,需要select的结果再通过一个中间表select多一次,否则会报You can't specify target table for update in FROM clause。
MySQL 过滤重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。
如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。
from 树懒学堂- 一站式数据知识学习平台
你也可以使用 GROUP BY 来读取数据表中不重复的数据:
MySQL 删除重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。
本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。
删除重复数据
如果你想删除数据表中的重复数据,你可以使用以下的SQL语句:
from 树懒学堂 - 一站式数据知识平台
当然你也可以在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法如下:
可以新建立一张表,
把重复数据的字段设置为索引,
不允许重复,再把之前的表数据导入到新建立的表中,
这样就可以过滤掉重复内容了。
select
distinct可以去掉重复记录。
disctinct将重复的记录忽略,但它忽略的是完全一致的重复记录,而不是其中某个字段重复的记录,或者说,distinct查询一个字段时好使,多个字段就不好使。
所以用聚合函数和group
by实现
注意:group
by只能跟聚合函数搭配使用
例表
ID
username
password
TRDESC
1
A
abcdef
QR
2
A
abcdef
W34
3
A
bbbbbb
AD
4
B
aaaaaa
asdf
查询username和password组合起来的条件不能重复的查询结果(这个都能重复,不能不说这是个烂摊子)
select
*
from
mytable
where
ID
in(select
max(ID)
from
mytable
group
by
username,password)
当username和password重复时,取ID最小的记录:
select
*
from
mytable
where
ID
in(select
min(ID)
from
mytable
a
group
by
username,password)