我必须在行中交换整个表的数据。我已经搜索了解决方案,但它只有两行。这不是我正在寻找的东西。我要交换整个表格的行。该行只包含两种类型的数据。像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
我希望我的ID与原样相同。 谢谢!!!!!
答案 0 :(得分: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");
此查询执行基本的if语句,如果性别字段为Male
,则会将其设置为Female
,否则会将其设置为Male
这是一个有效的DEMO
答案 1 :(得分:0)
UPDATE table SET gender=CASE WHEN gender='female' THEN 'male' WHEN gender='male' THEN 'female' ELSE NULL END