我没有看到在 MySQL 查询中执行此操作的清晰简单的方法。架构看起来像:
CREATE TABLE users (
id VARCHAR(20),
col SET('read', 'write', 'edit', 'delete'),
);
如果我想查询所有具有read
和write
privs 的用户(不管设置了任何其他值),我想出的唯一查询是:
SELECT id, privs
FROM users WHERE
FIND_IN_SET('read',privs) > 0 AND
FIND_IN_SET('write',privs) > 0
有没有办法简化这个?就像是:
SELECT id, privs
FROM users WHERE
privs('read' & 'write')
假设,我想使用更复杂的位逻辑,但我想知道工作示例是否是使用SET
类型时完成此操作的唯一方法。