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