更新mysql表以交换整行

更新mysql表以交换整行,mysql,Mysql,我必须为整个表交换行中的数据。我已经搜索了解决方案,但只搜索了两行。这不是我要找的。我必须交换整张桌子的行。该行将只包含两种类型的数据。比如0或1 我的mysql表如下所示 *CustomerId Band Gender* Kurt Cobain Nirvana Male John Mayer JohnMayer Male Katy Perry Katy Perry

我必须为整个表交换行中的数据。我已经搜索了解决方案,但只搜索了两行。这不是我要找的。我必须交换整张桌子的行。该行将只包含两种类型的数据。比如0或1

我的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
交换后,我希望我的桌子看起来像这样

*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和1,可以执行以下操作:

UPDATE table_name SET Gender = 1 - Gender;  
UPDATE table_name SET Gender = IF(Gender="Male", "Female", "Male");  
如果当前值为1,它将执行此操作(1-1=0),否则如果当前值为0,它将执行此操作(1-0=1)

如果您正在使用字符串,您可以简单地执行以下操作:

UPDATE table_name SET Gender = 1 - Gender;  
UPDATE table_name SET Gender = IF(Gender="Male", "Female", "Male");  
此查询执行基本if语句,如果性别字段为
男性
,则将其设置为
女性
,否则将其设置为
男性


这里有一张工作票

您需要将女性换成男性,反之亦然?是的!!!我刚才举了一个例子。不要照字面理解。我对表格的需求就是这样。
updatetable-word\u-gender\u-bands-SET-gender=IF(gender='Female',Male',Female')不工作。。。你确定。????你也可以为这些类型的查询提供链接!!!谢谢,非常感谢!!!成功了!!!!但是你能解释一下为什么MYSQL WORKBENCH没有执行这个查询,但是命令行执行了吗???对不起,我不熟悉MYSQL WORKBENCH,我使用命令行。很高兴提供帮助anyway@AnkitShrestha我已经更新了第二个查询的描述,它可以工作了,你得到了什么错误?但是你能解释为什么MYSQL WORKBENCH没有?”我无法执行此查询,但命令行执行了???@AnkitShrestha我认为您应该为that@AnkitShrestha我更新了我的答案,为你的问题添加了一个演示