Hallo Regina,
ein auf 2 Byte gestützter Enum kann 65536 aufgezählte Werte repräsentieren, von denen aber nur einer gleichzeitig aktiv ist. Das ist also kein 1:n. Verwendest Du ein Enum als Flag-Leiste, sind es 16 Werte (Flag-Bits). Die Du beim Tabellendesign festlegen musst; du kannst nicht irgendwann sagen, dass Bit 4 für "Regina" stehen soll, während es anfangs für "Fastix" stand.
Ein SET ist, wenn ich das richtig verstanden habe, das gleiche in Grün und mit größeren Integers als Speicher-Repräsentation, nur dass MYSQL hier die Decodierung in eine String-Liste übernimmt. Welche Werte im Set möglich sind, legst Du ebenso bei der Tabellendefinition fest.
Hat alles seine Existenzberechtigung. Ob es für den OP passt, ist dann zu prüfen. Ob man effizient alle Rows finden kann, in denen ein Enum das 4. Bit gesetzt hat, oder in denen ein Set einen bestimmten Eintrag enthält, weiß ich nicht. Angesichts der Speicherung als Bitmap würde das für mich einen Full Index- oder Table-Scan erfordern.
Rolf
sumpsi - posui - clusi