ursus contionabundo: Mehrere Werte in einem Feld speichern? - Datentype "SET": Inserts, Updates - Alternative Syntax

Beitrag lesen

CREATE TABLE `filter` (
    `userID` INT,
    `filter` SET('PauseBeginn', 'PauseEnde' ,'Kommen', 'Gehen' ),
    INDEX (`userID`)
)

Alternative Syntax für Updates, Inserts

UPDATE `filter` SET `filter` = 9;

userID|filter 1|PauseBeginn,Gehen

Grund: SET('PauseBeginn', 'PauseEnde' ,'Kommen', 'Gehen' )

PauseBeginn = 1 (2^0)
PauseEnde   = 2 (2^1) 
Kommen      = 4 (2^2)
Gehen       = 8 (2^3)

PauseBeginn + Kommen = 9

UPDATE `filter` SET `filter` = filter -8 WHERE userID =1

userID|filter 1|PauseBeginn