Det du viser er binære tal
- 0000000 =0
- 0000001 =2^0 =1
- 0000010 =2^1 =2
- 0000011 =2^0 + 2^1 =3
Så gem blot disse tal i en heltal datatype (som er internt lagret med bits som vist selvfølgelig). Du kan bruge BIGINT til dette, som anbefalet i dokumenterne til bitvise operationer (http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html ).
Sådan indstilles flag n:
UPDATE mytable
SET bitmask = POW(2, n-1)
WHERE id = 12345;
Sådan tilføjer du et flag:
UPDATE mytable
SET bitmask = bitmask | POW(2, n-1)
WHERE id = 12345;
Sådan kontrollerer du et flag:
SELECT *
FROM mytable
WHERE bitmask & POW(2, n-1)
Men som nævnt i kommentarerne:I en relationsdatabase bruger du normalt kolonner og tabeller til at vise attributter og relationer i stedet for en kodet flagliste.