簡體   English   中英

mysql 替換表中的值

[英]mysql replace values in a table

我的 mysql 數據庫中有一個用戶表,其中包含 id、年齡和性別等列。 我已經插入了大約 500 條記錄。

現在我需要交換記錄的性別,即將男性替換為女性,女性替換為男性。

我想這樣做:

update users set gender='female' where gender='male';
update users set gender='male' where gender='female';

但是正如您所看到的,只要我運行第一個查詢,所有記錄都將更新,性別設置為“女性”。

我如何修改查詢或者我應該走另一種方式?

update users set gender=case when gender='male' then 'female' else 'male' end where gender in ('male','female');
UPDATE users SET gender='tmp' WHERE gender='male'; UPDATE users SET gender='male' WHERE gender='female'; UPDATE users SET gender='female' WHERE gender='tmp';

將兩個查詢合二為一:-

update users set gender = if (gender='female', 'male', 'female');
update users set gender='fem' where gender='male';
update users set gender='male' where gender='female';
update users set gender='female' where gender='fem';
update users set gender='wasmale' where gender='male';
update users set gender='male' where gender='female';
update users set gender='female' where gender='wasmale';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM