我有一个MySQL表,有8列,每列INT(1) default 0
如何测试8个字段中是否只有一个等于1?

最佳答案

试试这个:

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

这项工作的基础是MySQL中的每个条件都转换为10。如果所有条件的加法都是1,则表示只有一个条件是1(或true)。

10-05 21:06