用PHP切换Mysql表的状态-最简单的方法



我有一个名为status的mysql表,列ID, status。

STATUS只能为1或2。

我想以最简单的方式更新STATUS列,因此,如果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。

如果只有两个值,则考虑使用布尔数据类型。如果你这样做,你可以在一个查询中完成,像这样:

UPDATE status SET STATUS = !STATUS WHERE ID = ?

此外,将status同时作为表名和列名有点令人困惑。

相关内容

最新更新