/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MySQL] ID-værdier i tabel
Fra : Christian Flintrup


Dato : 27-07-01 22:07

Hej,

Jeg har en tabel:

ID Navn By
------------------------
1 Finn Månevang
2 Kirk Østerby
3 Ole Vejby
4 Ronnie Klosterbo

Hvordan laver jeg det sådan, at hvis man fx sletter nr. 2, så bliver det
sådan her

1 Finn Månevang
2 Ole Vejby
3 Ronnie Klosterbo

I stedet for

1 Finn Månevang
3 Ole Vejby
4 Ronnie Klosterbo

Altså så den selv "vedligeholder" ID-kolonnen så tallene er i rækkefølge

--
På forhånd tak
Christian Flintrup

 
 
Jonas Delfs (27-07-2001)
Kommentar
Fra : Jonas Delfs


Dato : 27-07-01 22:21

"Christian Flintrup" <junk@osxhacks.com> skrev i en meddelelse
news:1ex882l.1h06pp71eu8fyeN%junk@osxhacks.com...

> Jeg har en tabel:
>
[snip tabel-eksempel]
>
> Hvordan laver jeg det sådan, at hvis man fx sletter nr. 2, så bliver det
> sådan her
>
[snip eksempel]
>
> Altså så den selv "vedligeholder" ID-kolonnen så tallene er i rækkefølge

Hvorfor vil du det?

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

"Developers are being asked to do more with less, do it faster, and make it
fit with the existing systems and databases." - IDC



Peter Brodersen (27-07-2001)
Kommentar
Fra : Peter Brodersen


Dato : 27-07-01 23:44

On Fri, 27 Jul 2001 23:07:03 +0200, junk@osxhacks.com (Christian
Flintrup) wrote:

>Hvordan laver jeg det sådan, at hvis man fx sletter nr. 2, så bliver det
>sådan her

Det gør du ikke - og det ville heller ikke være hensigtsmæssigt.
Forestil dig at du i en anden tabel havde en relation til at Ole Vejby
(nr. 3) havde 200 kr. på kontoen. Efter din rettelse, ville det
pludselig være Ronnie Klosterbo (den nye nr. 3), der havde 200 kr. på
kontoen...


--
- Pede
Professionel nørd

Christian Flintrup (28-07-2001)
Kommentar
Fra : Christian Flintrup


Dato : 28-07-01 08:11

Peter Brodersen <professionel@nerd.dk> wrote:

> Det gør du ikke - og det ville heller ikke være hensigtsmæssigt.
> Forestil dig at du i en anden tabel havde en relation til at Ole Vejby
> (nr. 3) havde 200 kr. på kontoen. Efter din rettelse, ville det
> pludselig være Ronnie Klosterbo (den nye nr. 3), der havde 200 kr. på
> kontoen...

Det er rigtigt. Men meningen er netop at der relateres til fx nr. 4 og
det så ikke nødvendigvis er den samme person. Men jeg tror bare jeg
laver det uden at bruge ID-nr. som det, der sætter det i rækkefølge på
siden. I stedet tager jeg det bare i den rækkefølge, det ligger i
databasen. Så kan jeg bruge ID-nr. på normal vis.

Men tak for hjælpen alligevel :)

--
Christian

Svenne Krap (28-07-2001)
Kommentar
Fra : Svenne Krap


Dato : 28-07-01 21:39

On Fri, 27 Jul 2001 23:07:03 +0200, junk@osxhacks.com (Christian
Flintrup) wrote:

>Hej,

>
>Hvordan laver jeg det sådan, at hvis man fx sletter nr. 2, så bliver det
>sådan her
>
>1 Finn Månevang
>2 Ole Vejby
>3 Ronnie Klosterbo
>
>I stedet for
>
>1 Finn Månevang
>3 Ole Vejby
>4 Ronnie Klosterbo
>
>Altså så den selv "vedligeholder" ID-kolonnen så tallene er i rækkefølge

Mysql kan det desværre ikke... <flamebait>i en rigtig database ville
du oprette en "on delete" trigger</flamebait>

Som også andre skriver, har du sikkert ikke lyst til at gøre det..
Hvis trangen alligevel melder sig :

delete from "tabel" where id=2;
update "tabel" set id=id-1 where id >2;

Svenne
--
Mail usenet@krap.dk - svenne@krap.dk - PGP key id : 0xDF484022
ICQ: 5434480 - http://www.krap.dk - http://www.krap.net
PGP Key http://keys.pgp.dk:11371/pks/lookup?op=get&search=0xDF484022

Christian Flintrup (28-07-2001)
Kommentar
Fra : Christian Flintrup


Dato : 28-07-01 22:50

Svenne Krap <usenet@krap.dk> wrote:

> delete from "tabel" where id=2;
> update "tabel" set id=id-1 where id >2;

Det ser da godt ud ellers - hvorfor har jeg ikke lyst til at gøre det?
:)

Hvis det er pga. at det sløver systemet, så har jeg max 20 rækker i
denne tabel.

Det er til en autoresponder, hvor brugere får tilsendt nyhedsbreve efter
x antal dage. Hver række i tabellen indeholder så et predefineret brev
samt et tidsinterval.

Derfor behøver jeg en måde at relatere til fx "brev nr 3" - det er
egentligt ligemeget hvad dette brev indeholder - bare det er nr. 3 der
bliver udsendt.

Svenne, tak for din mail i øvrigt. Som du måske har opdaget, har mine 2
spørgsmål i gruppen relevans til hinanden.

--
Mange hilsener
Christian Flintrup

Mads Lie Jensen (29-07-2001)
Kommentar
Fra : Mads Lie Jensen


Dato : 29-07-01 06:31

On Sat, 28 Jul 2001 23:50:27 +0200, junk@osxhacks.com (Christian
Flintrup) wrote:

>Derfor behøver jeg en måde at relatere til fx "brev nr 3" - det er
>egentligt ligemeget hvad dette brev indeholder - bare det er nr. 3 der
>bliver udsendt.

SELECT brev FROM breve LIMIT 3,1
... kan sikkert bruges (har ikke testet det)

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Svenne Krap (29-07-2001)
Kommentar
Fra : Svenne Krap


Dato : 29-07-01 23:55

On Sat, 28 Jul 2001 23:50:27 +0200, junk@osxhacks.com (Christian
Flintrup) wrote:

>Svenne Krap <usenet@krap.dk> wrote:
>
>> delete from "tabel" where id=2;
>> update "tabel" set id=id-1 where id >2;
>
>Det ser da godt ud ellers - hvorfor har jeg ikke lyst til at gøre det?
>:)


Fordi en artifical primary key har du som hovedregel ikke lyst til at
ændre på. Har du lyst til at ændre på den som i dit tilfælde, bør den
ikke være primary key.

Såvidt jeg kan se, er det du skal bruge praktisk talt bare muligheden
for at trække række x ud af tabellen, der kan du, som både jeg og
andre har svaret bruge


select .... limit x,1

Primary key bruges jo til at identificere en række entydigt og for
evigt (ikke helt ulig dit personnummer :)

Det er derfor du ikke har lyst til det.. Ikke fordi det er teknisk
svært eller umuligt.

/Svenne
--
Mail usenet@krap.dk - svenne@krap.dk - PGP key id : 0xDF484022
ICQ: 5434480 - http://www.krap.dk - http://www.krap.net
PGP Key http://keys.pgp.dk:11371/pks/lookup?op=get&search=0xDF484022

Christian Flintrup (30-07-2001)
Kommentar
Fra : Christian Flintrup


Dato : 30-07-01 01:00

Svenne Krap <usenet@krap.dk> wrote:

> Det er derfor du ikke har lyst til det.. Ikke fordi det er teknisk
> svært eller umuligt.

OK. Tusind tak for hjælpen alle sammen - så vil jeg bruge limit til det.

--
Christian

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste