|
| Indsæt ny linje i database... Fra : René Poulsen |
Dato : 06-11-03 14:12 |
|
Hej igen igen!
Jeg har en database med f.eks. disse er linjer:
(ID) 1, (bogstav) B, (nr. i alfabet) 2
2, C, 3
3, D, 4
osv...
Så vil jeg så gerne give brugere af siden sætte nye poster ind i
databasen. F.eks.:
(ID), A, 1
Jeg vil så gerne have at A kommer til at have ID=1, så de andres
ID forhøjes med en. Kan dette gøres?
/René
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Lars Hoffmann (06-11-2003)
| Kommentar Fra : Lars Hoffmann |
Dato : 06-11-03 14:20 |
|
"René Poulsen" <fcpoulsen@hotmail.com> escribió
> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
> ID forhøjes med en. Kan dette gøres?
Jeg er ikke helt sikker på hvad du mener, men måske et
autonummereringsfelt kan gøre tricket?
Med venlig hilsen
Lars Hoffmann
| |
Jens Gyldenkærne Cla~ (06-11-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 06-11-03 14:40 |
|
Lars Hoffmann skrev:
>> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
>> ID forhøjes med en. Kan dette gøres?
> Jeg er ikke helt sikker på hvad du mener, men måske et
> autonummereringsfelt kan gøre tricket?
Nej.
René har tabeldata:
1, B, 2
2, C, 3
3, D, 4
- og vil indsætte (1, A, 1) så han får:
1, A, 1
2, B, 2
3, C, 3
4, D, 4
(så vidt jeg kan se af hans indlæg).
Det kan ikke klares med autonummerering. Det er mulig at løse det
hvis man kender det ID-nummer der skal sættes ind:
myID = 1
strSQL = "UPDATE tabel SET ID = ID + 1 WHERE ID >= " & myID
' Herefter indsættes data som normalt.
Men hvis ID er primærnøglen for tabellen, er det en meget dårlig
ide at opdatere den. Primærnøgler skal ikke (nødvendigvis) være
informative - men de skal være unikke og (helst) uforanderlige over
tid.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
René Poulsen (06-11-2003)
| Kommentar Fra : René Poulsen |
Dato : 06-11-03 14:59 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Lars Hoffmann skrev:
>
> >> Jeg vil så gerne have at A kommer til at have ID=1, så de andres
> >> ID forhøjes med en. Kan dette gøres?
>
> > Jeg er ikke helt sikker på hvad du mener, men måske et
> > autonummereringsfelt kan gøre tricket?
>
> Nej.
>
> René har tabeldata:
>
> 1, B, 2
> 2, C, 3
> 3, D, 4
>
> - og vil indsætte (1, A, 1) så han får:
>
> 1, A, 1
> 2, B, 2
> 3, C, 3
> 4, D, 4
>
> (så vidt jeg kan se af hans indlæg).
>
> Det kan ikke klares med autonummerering. Det er mulig at løse det
> hvis man kender det ID-nummer der skal sættes ind:
>
> myID = 1
>
> strSQL = "UPDATE tabel SET ID = ID + 1 WHERE ID >= " & myID
>
> ' Herefter indsættes data som normalt.
>
> Men hvis ID er primærnøglen for tabellen, er det en meget dårlig
> ide at opdatere den. Primærnøgler skal ikke (nødvendigvis) være
> informative - men de skal være unikke og (helst) uforanderlige over
> tid.
Det er lige nøjagtigt sådan jeg vil have det! Nu var eksemplet med
bogstaver måske heller ikke så godt - jeg vil bare have at hver gang
jeg sætter en ny linje ind, så får den ID=1 og de andre forhøjes.
Hvis det ikke er smart at bruge primærnøglen kan jeg jo bare lave en
ny der hedder ID2 og bruge den istedet...?!
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (06-11-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 06-11-03 15:05 |
|
René Poulsen skrev:
> Det er lige nøjagtigt sådan jeg vil have det! Nu var eksemplet
> med bogstaver måske heller ikke så godt - jeg vil bare have at
> hver gang jeg sætter en ny linje ind, så får den ID=1 og de
> andre forhøjes.
Må man spørge hvad du skal bruge det til? Umiddelbart lyder det som
om nummereringen lige så godt kunne foretages når du skal trække
tallene ud.
> Hvis det ikke er smart at bruge primærnøglen kan jeg jo bare
> lave en ny der hedder ID2 og bruge den istedet...?!
Ja - det vil være bedre. Hvis du altid skal forhøje samtlige numre
(fordi du sætter 1 ind som det nye), behøver du i øvrigt ikke noget
kriterium i opdateringsforespørgslen - bare brug:
UPDATE tabel SET id2 = id2 + 1
- og så
INSERT INTO tabel (id2, felt2) VALUES (1, ...)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
René Poulsen (06-11-2003)
| Kommentar Fra : René Poulsen |
Dato : 06-11-03 15:13 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Må man spørge hvad du skal bruge det til? Umiddelbart lyder det som
> om nummereringen lige så godt kunne foretages når du skal trække
> tallene ud.
Det her er ikke noget jeg skal bruge til noget specielt lige nu. Jeg
sidder engang imellem og "lejer" lidt med det for at finde ud af nye
ting. Jeg har ikke lært så fan**** meget endnu
Men endnu engang tak for hjælpen.
/René
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|