ampyMedlem sedan feb. 20011 512 inlägg
Om man har en kolumn som endast ska innehålla två värden, true eller false, vilken datatyp rekommenderas då att användas?
Tidigare har jag alltid använt mig av datatypen int med 1 i längd. 1 är true och 0 är false.
Men ska man hellre använda datatypen ENUM där man sätter längd till exempelvis 'N','Y'?
LarsGMedlem sedan dec. 200012 465 inlägg
Det beror på vilka krav som finns. Om du inte upplever något problem med nuvarande lösning ser jag ingen anledning att byta.
PaceMedlem sedan juni 20015 947 inlägg
Jag rekommenderar int (eller ännu hellre tinyint).
Då kan man använda sql-satser såsom WHERE jabla AND NOT bobla i stället för WHERE jabla = 'Y' AND bobla = 'N'. Då kan man ju om man byter till en databas som hanterar true/false fortfarande använda sql-satserna. Använder du enums måste du skriva om varje fråga.
ampyMedlem sedan feb. 20011 512 inlägg
Jag använder int och kommer, efter att ha läst era inlägg, fortsätta att göra det. Varför jag undrade var för att MySQL själva har valt att använda typen ENUM i databasen som heter 'mysql'.