Mysql 替换“;0“;至于;1“;及;1“;至于;0“;在同一个SQL查询中
我有一个名为“emp”的表,其中包含以下数据:Mysql 替换“;0“;至于;1“;及;1“;至于;0“;在同一个SQL查询中,mysql,Mysql,我有一个名为“emp”的表,其中包含以下数据: id name status 1 x 0 2 y 1 3 z 0 4 p 1 如何编写查询以在单个查询中将状态0更改为1,并将状态1更改为0 带有案例: update your_table set status = case when status = 1
id name status
1 x 0
2 y 1
3 z 0
4 p 1
如何编写查询以在单个查询中将状态0更改为1,并将状态1更改为0 带有
案例
:
update your_table
set status = case when status = 1
then 0
else 1
end
UPDATE emp
SET status = CASE status
WHEN 1 THEN 0
WHEN 0 THEN 1
END
或者,用一点数学:
UPDATE emp
SET status = 1 - status
true
是MySQL中1
的别名,false
是0
的别名。它的工作原理和你想要的一样
if($_REQUEST['status']=="1")
{
$status="0";
}
else
{
$status="1";
}
$id=$_REQUEST['id'];
$q="UPDATE `emp` SET `status`='$status' WHERE `id` ='$id'";
$qr=mysql_query($q);
status
benull
?在我看来,这是一个非常好的方法,但只适用于0对1和1对0的替换。在大学学习布尔函数的过程中,我很好奇将它们替换成数学函数(并成功地将它们全部替换掉!):P,这就是我如何想到的:)
update table set status = not status
if($_REQUEST['status']=="1")
{
$status="0";
}
else
{
$status="1";
}
$id=$_REQUEST['id'];
$q="UPDATE `emp` SET `status`='$status' WHERE `id` ='$id'";
$qr=mysql_query($q);
UPDATE `emp` SET `status` = (`status`^1)