08. december 2003 - 21:44Der er
9 kommentarer og 2 løsninger
Begrænse hvilke værdier der kan indtastes
Hej Eksperter
Er der nogle af jer der ved hvordan man kan bestemme hvilke værdier en bruger kan indtaste i en tabel.
Jeg skal oprette en database der indeholder beskrivelser af en masse huse. Under TYPE vil jeg gerne have at brugeren kun kan indtaste værdierne "hus", "lejlighed", "landbrug" eller "sommerhus".
Database mæssigt kan du lave en tabel med de legale værdier og sætte din database op til at enforce referentiel integritet fra feltet til den tabel.
De fleste putter den form for funktionalitet i applikationen fremfor i databasen.
Synes godt om
Slettet bruger
08. december 2003 - 21:52#4
Undskyld min manglende præcision, men databasen er postgres. Jeg ved godt der er en kategori for postgres, men der er efter alt at dømme ikke ret mange der kommer der, så jeg tog chancen i en mere generelt kategori.
palau
Synes godt om
Slettet bruger
08. december 2003 - 21:54#5
Til arne_v
Databasen skal bruges sammen med php. Giver det mig nogle ekstra muligheder for at løse problemet?
De ovenstående svar fungerer under alle relationelle databaser.
Du lægger blot en fremmednøgle - foreign key constraint - fra din data-tabel til tabellen der indeholder dine værdier. Dermed vil databasen nægte at indsætte ukendte værdier.
typisk (pseudo) sql til dette create table housing ( id number primary key, ... housetype_id number) ; create table housetype ( id number primary key, housetype varchar(10) ) ;
alter table housing add constraint housetype on (housetype_id) references housetype(id);
Du skal dog stadigvæk i din overliggende applikation give folk mulighed for at vælge den ønskede værdi - typisk i en dropdown menu.
Tak, men ikke rimeligt da jeg egentligt kun uddybede Arnes (og Terrys) svar.
Synes godt om
Slettet bruger
08. december 2003 - 22:25#11
Ok trer, men tak alligevel. Så deler de to andre.
palau
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.