mysql 对一个字段的多条记录update

举例说明:

表user

idnamestatus
1张三 
2张三 
3李四 
4李四 

将同名的第一条记录的status设为:N

如果你打算用下面的方式更新就错了,mysql暂时不支持该方式

update user , tmp set user.status='Y' where id in (select id from user group by name);

方式一:创建临时表更新

create TEMPORARY table tmp select min(id) as id  from user group by name;

update user , tmp set user.status='Y' where user.id=tmp.id; 




DROP TABLE tmp;




方式二:

update user , (select min(id) as id  from user group by name) as tmp
 set user.status='Y' where user.id=tmp.id; 







版权声明:本文为u010442302原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。