使用不同的where条件mysql一次更新所有行
Posted
技术标签:
【中文标题】使用不同的where条件mysql一次更新所有行【英文标题】:update all rows at once with different where condition my sql 【发布时间】:2015-09-21 13:20:58 【问题描述】:我有一个表名详细信息,其中有两列。第一个是名字,第二个是性别。该表包含大约 50 个姓名和性别男性/女性条目。我正在尝试根据人的性别更新包含男性和女性的性别列。我想要做的是改变性别=男性到女性和女性到男性的数据
这是我尝试过的查询:
UPDATE details
SET gender = 'm',
gender='f'
WHERE gender = 'm';
【问题讨论】:
我尝试了一个 where 条件,但它全部变为女性。 更新详情 set gender = 'm', gender='f' where gender = 'm'; 【参考方案1】:如果您需要它在一个语句中,请尝试使用 CASE
语句代替:
UPDATE Details
SET Gender = CASE WHEN Gender = 'm' THEN 'f' ELSE 'm' END
WHERE Gender IN ('m', 'f')
【讨论】:
以上是关于使用不同的where条件mysql一次更新所有行的主要内容,如果未能解决你的问题,请参考以下文章
MySQL ------ 更新数据(UPDATE)(二十一)
MySQL ------ 更新数据(UPDATE)(二十一)
Laravel 在使用 where 条件和更新时提供不同的结果