mysql - PHP/MySQL - 使用重复条目更新行

标签 mysql sql sql-update

我有一个数据库(大约 300 万条记录),它在数据库中有多个/重复的记录,这些记录具有相同的“电子邮件”,我想保留默认状态(0)的一行并更新“status=5”对于其余的重复项。 请注意,并非所有记录都有重复。电子邮件地址以 base64 编码存储。

最佳答案

UPDATE tbl
JOIN (
    SELECT email, MIN(ID) minID
    FROM tbl
    GROUP BY email
    HAVING COUNT(*) > 1) t2 ON tbl.email = t2.email AND tbl.id != t2.minID
SET tbl.status = 5

关于mysql - PHP/MySQL - 使用重复条目更新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869386/

相关文章:

MySQL如何查找表中的空数据

php - 单击按钮和更新数据库后重定向页面

sql - 如何在没有分组依据的情况下进行求和

mysql - 这个准备好的语句更新查询不起作用......为什么?

java - MySQL不等待返回物理锁错误的方法

使用 SELECT 更新 MySQL(将 "item"标记为已读)

php - MySQL 和 PHP 中的全局语言

php - 选择 Linux 进行开源开发

mysql - SQL查询语法错误,使用另一个表的数据更新一个表

sql - 是否可以在不释放行锁的情况下提交一个事务并启动一个新事务?