简体   繁体   中英

In MySQL table update 'a' record with 'b' and 'b' with 'a'

In my table there are two field, one is name and other is gender. I want to fire query so that every male is update with female and viceversa.

I don't want to use procedure, trigger or function. I have to do this only with simple query.

Make it a three step.

-- Step 1: Give the males a temporary gender value (gender X)

-- Step 2: Set the female records to male (F to M)

-- Step 3: Set the old male records to female ( X to F)

Update table Set Gender = 'X' where Gender = 'M'
Update table Set Gender = 'M' where Gender = 'F'
Update table Set Gender = 'F' where Gender = 'X'

In MSSQL you could do this:

UPDATE table SET gender = CASE WHEN gender = 'M' THEN 'F' ELSE 'M' END

If there is anything similar is My-SQL then this is one easy statement.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM