Ingen af dem. Du vil typisk bruge tinyint med en opslagstabel
-
char(1) vil være lidt langsommere, fordi sammenligning bruger sortering
-
forvirring:Når du udvider til mere end A og P
-
Brug af et bogstav begrænser dig, efterhånden som du tilføjer flere typer. Se sidste punkt.
-
hvert system, jeg har set, har mere end én klient, f.eks. rapportering. A og P skal løses til Aktiv og Passiv for i hver klientkode
-
udvidelighed:Tilføj en type mere ("S" for "Suspenderet") du kan en række til en opslagstabel eller ændre en masse kode og begrænsninger. Og din klientkode også
-
vedligeholdelse:logik er på 3 steder:database begrænsning, database kode og klient kode. Med et opslag og fremmednøgle kan det være ét sted
-
Enum er ikke bærbart
På plussiden ved at bruge et enkelt bogstav eller Enum
Bemærk:der er et relateret DBA.SE MySQL-spørgsmål om Enums . Anbefalingen er også at bruge en opslagstabel der.