我有一个名为STATUS的Mysqli表,其中列为ID,status。
状态只能是1或2。
我希望以最简单的方式更新STATUS列,因此如果状态值为1,则将其更新为2,反之亦然。
通常我可以这样做:
$c=$mysqli->query('SELECT * FROM status WHERE id="1"' );
$kats=$c->fetch_assoc();
$status=$kats['status'];
if ($status == '1') {$newstatus = '2';} else {$newstatus = '1';}
$mysqli->query("UPDATE status SET status = '$newstatus' WHERE id=1" );这是可行的,但是是否有一种更简单的方法,或者可能有1行查询?因为在一列中,值只是从1更改为2或从2更改为1。
发布于 2021-02-20 12:04:51
如果只有两个值,那么可以考虑使用布尔数据类型。如果您这样做了,那么您可以在一个查询中这样做,如下所示:
UPDATE status SET STATUS = !STATUS WHERE ID = ?而且,将status作为表名和列名也有点令人费解。
https://stackoverflow.com/questions/66291232
复制相似问题