php - 如何测试 8 个字段中是否只有 1 个等于 1

标签 php mysql

我有一个包含 8 列的 MySQL 表,每列都是 INT(1) 默认 0

如何测试 8 个字段中是否只有一个等于 1?

最佳答案

试试这个:

where 1 = (field1 = 1) + (field2 = 1) + ...

其工作原理是将 MySQL 中的每个条件转换为 10。如果所有条件之和为 1,则表示只有一个为 1(或 true)。

关于php - 如何测试 8 个字段中是否只有 1 个等于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10082495/

相关文章:

php - 将 mysql 连接作为参数传递时出错

mysql - 为什么 Sequel Pro 在命令行中显示的表键值结果与 MySQL 不同?

javascript - AJAX 无法从 PHP 读取回显数据?

php - 有没有一种 "conditional return"

php - 输入文本值时数据库无法创建记录 ($_POST)

php - 如何在一个查询中显示正常和分组项的列表?

mysql - SQL查询从相关记录、子查询中获取最小值

php - 如何在 IF 语句之间回显大量 HTML

javascript - PHP 检查变量是否已设置

php - 如何在 php 和 mysql 中的 2 个数据库和不同主机之间进行同步