2015-09-08 3 views
-1

Мне нужно поменять данные в строке для всей таблицы. Я искал решения, но только для двух строк. Это не то, что я ищу. Я должен поменять всю таблицу. Строка будет содержать только два типа данных. Как 0 или 1.Обновление таблицы mysql для свопинга всех строк

Таблица my mysql выглядит так.

*CustomerId    Band   Gender* 
Kurt Cobain   Nirvana  Male 
John Mayer    JohnMayer Male 
Katy Perry    Katy Perry Female 
Lana Del Rey   Lana Del  Female 
Axl Rose    GNR   Male 

После обмена я хочу, чтобы мой стол выглядел так.

*CustomerId   Band   Gender* 
Kurt Cobain   Nirvana  Female 
John Mayer    JohnMayer Female 
Katy Perry    Katy Perry Male 
Lana Del Rey   Lana Del  Male 
Axl Rose    GNR   Female 

Я хочу, чтобы мой идентификатор был таким же, как есть. Спасибо !!!!!

+0

Вам нужно поменять женщин на мужчин и наоборот? –

+0

Да !!! Я только что привел пример. Не воспринимайте это буквально. Моя потребность в таблице представляет это. –

+0

'UPDATE TABLE weird_gender_bands SET Пол = IF (Gender = 'Female', 'Male', 'Female');' –

ответ

0

Если значения, которые вы хотите поменять местами являются 0 и 1, вы можете сделать что-то вроде:

UPDATE table_name SET Gender = 1 - Gender; 

если текущие значения 1, он будет делать это (1-1 = 0), в противном случае, если ваше значение 0, он будет делать это (1-0 = 1)

ИЛИ

Если вы работаете со строками, вы можете просто сделать что-то вроде:

UPDATE table_name SET Gender = IF(Gender="Male", "Female", "Male"); 

Этот запрос делает базисным, если заявление, если поле гендер Male, он установит его Female, иначе, он установит его Male

Вот рабочий DEMO

+0

Не могли бы вы дать мне ссылку на объяснение второго запроса ??? –

+0

Также запрос не обновляется. Вы уверены, что это ответ? –

+0

@AnkitShrestha Я обновил свой ответ для описания второго запроса, он работает, какую ошибку вы получаете? –

0
UPDATE table SET gender=CASE WHEN gender='female' THEN 'male' WHEN gender='male' THEN 'female' ELSE NULL END 
+0

не работая ... вы уверены. ???? также вы можете предоставить ссылки для этого типа запросов !!! Спасибо –

+0

СПАСИБО ВАС ОЧЕНЬ СЧИТАЕТ !!! ЭТО РАБОТАЕТ !!!! \t НО ВЫ МОЖЕТЕ ОБЪЯСНИТЬ ПОЧЕМУ MYSQL WORKBENCH DIDN "T ВЫПОЛНИТ ЭТОТ QUERY, НО КОМАНДНАЯ ЛИНИЯ СДЕЛАЛА ??? –

+0

Извините, но я не знаком с workbench MySql, я использую командную строку. Рад помочь в любом случае –

Смежные вопросы