![]() |
mySQL
ett fält som heter 'test'
Typ enum('p','r','o','b','l','e','m'); Jag vill lista alla poster där fältet test är 'större än' o, dvs alla poster där värdet är värdet är b.l.e eller m. Jag vill inte hårdkoda select * from tbl where 1*test > 3; eftersom jag kanske i framtiden kommer att ändra på Fältet test till enum('a','p','r','o','b','l','e','m'); |
Vad har du provat med och vad gav det för resultat?
|
select * from table where test in ('b', 'l', 'e', 'm')
|
Citat:
enum('p','r','o','b','l','e','m','s'); |
enum är ingen normal datatyp i relationsdatabaser så det är generellt sett ingen bra idé. Blir knepigt med portabiliteten.
Lägg upp en egen tabell med två kolumner, en som heter "enum" av typer char(1) som är PK och ett fält som heter "sortorder" av valfridatatyp men som går att sortera på. Lägg upp en RI-regel med FK->PK från din tabell till denna enumtabell, så har du ganska snarlik funktionalitet. |
Citat:
Tack ändå ! |
Alla tider är GMT +2. Klockan är nu 10:18. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson