2010-03-30 88 views
1

在我的表中有兩個字段,一個是名字,另一個是性別。我想發射查詢,以便 每個男性都更新與女性和viceversa。在MySQL表更新'a'記錄'b'和'b''a'

我不想使用過程,觸發器或函數。我只能用簡單的查詢來做到這一點。

回答

3

在MSSQL中,你可以這樣做:

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

如果有類似的東西是My-SQL,那麼這是一個簡單的陳述。

4

讓它三步走。

- 步驟1:給雄性的臨時性別值(性別X)

- 步驟2:設置陰記錄到雄性(F至M)

- 步驟3:設置老年男性記錄 女性(X到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' 
+0

是的,這是正確的解決方案,即使它是好的,如果有的話。 – chetan 2010-03-30 14:08:24

+0

是否有任何其他解決方案需要我們編寫三個查詢。 – chetan 2010-04-01 06:13:25