mysql基本语句
# 唯一键
mysql 5.6 及以下
alter ignore table xy_member_game_count add UNIQUE unique_name (uid,time);
1
mysql 5.7 以上
1.删除表中重复数据,只保留重复中的一条
delete from member
where (uid,time) in
(select uid,time from ( select uid,time from member group by uid,time having count()>1) a)
and id not in
( select min(id) from (select min(id) as id from member group by uid,time having count()>1 ) b)
2. 新增唯一键
alter table member add UNIQUE unique_name (uid,time);
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# sql:mysql:on和where区别,on后可跟多个条件
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用left jion时,on和where条件的区别如下:
1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
上次更新: 2022/01/03, 23:02:56