MySql - 常用操作

in TCEHMySQL with 0 comment

删除重复数据且仅保留一条数据

思路:先查找出重复的数据项,再剔除重复数据项并保留最小或最大id项

表结构

表结构

SQL:

SELECT * FROM user WHERE 
/* 查找重复的数据项 */
name in (SELECT name FROM user GROUP BY NAME HAVING COUNT(name)>1)

AND

/* 剔除重复项并保留重复项的最小id项 */
id NOT IN (SELECT MIN(id) FROM user GROUP BY name HAVING COUNT(name)>1)

执行结果:

1.png

由数据库自动维护创建时间,更新时间

当新增记录的时候,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中。
当更新记录的时候,mysql只update更新时间字段的时间,而不修改创建时间字段对应的值。

方案:
找到表中对应的创建时间和更新时间的字段,将其修改为下列代码所示。
创建时间字段

`creat_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP

更新时间字段

`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Comments are closed.