FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
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'); |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Bara ett inlägg till!
|
Vad har du provat med och vad gav det för resultat?
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Har WN som tidsfördriv
|
select * from table where test in ('b', 'l', 'e', 'm')
|
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
||||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Klarade millennium-buggen
|
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. |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
Citat:
Tack ändå ! |
|||
![]() |
![]() |
Svara |
|
|