php - 按位运算符的 MySQL 状态交换

标签 php mysql replace status swap

我正在寻找一种解决方案/最佳实践来交换状态标志的值。

mysql 中的状态 INT(3) 有几个值,我希望能够交换 LIVE 和 NOT_LIVE 值,而不会中断其中的其他按位值。

如果它是一个标志字段,如 0 或 1,则很容易:

'status' NOT 'status'

我想知道是否有一种方法可以基于两个值 (x, y) 进行交换 - 无需过多的代码逻辑,如上面的代码。当然,我可能在做梦,只需要恢复到 SELECT 查询、if 语句和 UPDATE...

有什么想法吗?

最佳答案

所以你的值是 1 和 2,但你想要位式翻转?那是行不通的,因为 1 和 2 设置了不同的位!

试试这个:

UPDATE table SET status = CASE status WHEN 1 THEN 2 ELSE 1 END

关于php - 按位运算符的 MySQL 状态交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432346/

相关文章:

php - api-platform 过滤掉软删除的项目

mysql - 获取每个问题,正确回答的用户数量

c - 如何替换 C 程序中字符串的 URL 编码序列?

php - 删除所有斜杠正则表达式

php - 安全地更改信用金额

php - Laravel 在用户模型中通过 id 获取用户并将它们存储在数组中

mysql - 如何联接一个表并限制同一表

php - 如何用 HTML 标签包含每个单词的首字母?

php - 使用php将mysql数据库下载为sql文件

mysql - 从表中选择所有日期时间大于时间戳的表?从 C# 到 mysql