MySQL翻转布尔值只会将其设置为';0';

MySQL翻转布尔值只会将其设置为';0';,mysql,Mysql,我有一个MySQL语句函数,如下所示 function store_channel_toggle_view_only($id){ $conn = sql_connect(); $stmt = mysqli_prepare($conn, "UPDATE channels SET view_only='NOT view_only' WHERE id='$id'"); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt

我有一个MySQL语句函数,如下所示

function store_channel_toggle_view_only($id){
    $conn = sql_connect();
    $stmt = mysqli_prepare($conn, "UPDATE channels SET view_only='NOT view_only' WHERE id='$id'");
    mysqli_stmt_execute($stmt);
    mysqli_stmt_close($stmt);
    sql_disconnect($conn);
}
正如所料,当数据库中的值为
1
时,此语句将其转换为
0
,但由于某些原因,当该值已为
0
时,该值不再更改并保持为
0

此外,我还尝试了
view_only='!仅查看具有相同效果的“

发生了什么事?为什么会这样?(是的,我反复检查,该列实际上是布尔值)

那是一根绳子

view_only = NOT view_only
这是仅查看列上的实际操作

那是一根绳子

view_only = NOT view_only

这是
仅查看
列上的实际操作。

是字符串值,这真的是您想要的吗?
是字符串值,这真的是您想要的吗?谢谢,我想我确实试过一次,但我想我同时把语法搞砸了,它抛出了错误,好了,现在可以了,谢谢!在数值上下文中计算时,字符串literal
“notview\u only”
的计算结果为
0
。作为一个简单的演示<代码>选择'NOT view_only'+0
啊,谢谢你,我想我确实试过一次,但我猜我同时在某个地方把语法搞砸了,它抛出了错误,现在可以正常工作了,谢谢!在数值上下文中计算时,字符串literal
“notview\u only”
的计算结果为
0
。作为一个简单的演示<代码>选择“不仅查看”+0