MySQL使用位運算

一般 咱們的數據表中 可能會包含各類狀態屬性, 例如 blog表中,咱們須要有字段表示其是否公開,是否有設置密碼,是否被管理員封鎖,是否被置頂等等。 也會遇到在後期運維中,策劃要求增長新的功能而形成你須要增長新的字段。 這樣會形成後期的維護困難,數據庫增大,索引增大的狀況。 這時使用位運算就能夠巧妙的解決。 

例如

-- 公開blog 給status進行或運算
UPDATE blog SET status = status | 1;
-- 加密blog 給status進行或運算
UPDATE blog SET status = status | 2;
-- 封鎖blog
UPDATE blog SET status = status | 4;
-- 解鎖blog
UPDATE blog SET status = status ^ 4;
-- 查詢全部被置頂的blog
SELECT * FROM blog WHERE status & 8;


相關文章
相關標籤/搜索