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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Compress MySql db
Fra : Morten Sandholdt


Dato : 06-01-03 20:55

Jeg har et internt mailsystem med en autoincremential ID til alle mails.
Der bliver løbende slettet mails og jeg vil gerne have mulighed for at pakke
mine mails så de ligger ID = 1-50 hvis der er 50 mails f.eks.
Jeg bruger ikke selve ID'en til andet end at holde styr på rækkefølgen så
det betyder ikke noget at give en mail en ny ID.
Mit problem er så at når jeg har haft f.eks. 700 mails, slettet 600 og
pakker det så har jeg dem som ID 1-100,
men eftersom det er en autoincremential i MySql så bliver den næste nye mail
701 og ikke 101 som det er meningen.
Jeg kan lave løsningen uden autoincremential, men det er en rar ting at have
så man har styr på ID'erne.

Er der nogen der har et løsningsforslag til mit problem?

Mens jeg lige har jeres opmærksomhed har jeg et tillægsspørgsmål, jeg har en
funktion der kan hente IP'en på den besøgende.
Er det også muligt at få MAC adressen? Eller på anden måde unikt at bestemme
PC'en (ikke cookies).

Hilsen
Morten



 
 
Jacob Atzen (06-01-2003)
Kommentar
Fra : Jacob Atzen


Dato : 06-01-03 21:20

"Morten Sandholdt" <sandholdt@esenet.dk> writes:

> Mens jeg lige har jeres opmærksomhed har jeg et tillægsspørgsmål, jeg har en
> funktion der kan hente IP'en på den besøgende.
> Er det også muligt at få MAC adressen? Eller på anden måde unikt at bestemme
> PC'en (ikke cookies).

Nej. Modems har f.eks. ikke nogen MAC adresse - svjv.

--
Med venlig hilsen
- Jacob Atzen

Lars Dybdahl (06-01-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 06-01-03 21:45

Autoincrement tæller ikke ned... Hvis du vil genbruge tal, så brug max()
funktionen til at finde det største tal og læg en til.

MAC adressen eksisterer ikke i TCP/IP regi - det er en Ethernet ting. Du
skal derfor slå MAC adressen op ud fra IP adressed med arp funktionen - vær
dog opmærksom på, at du selvflg. kun kan gøre dette, hvis du er forbundet
med klienten via ethernet, ikke hvis du er forbindet via internettet.

Lars.

--
Dybdahl Engineering
http://dybdahl.dk/

Morten Sandholdt (07-01-2003)
Kommentar
Fra : Morten Sandholdt


Dato : 07-01-03 23:00

Jeg har fundet en bøvlet løsning, jeg kan lave en ny tabel og kopiere alle
data over i den, så kan jeg empty den gamle og kopiere dataene tilbage uden
deres gamle id, så vil det virke, men det er bøvlet
Jeg vil stadig gerne høre hvis der er nogen der har en nem løsning.

/Morten


"Morten Sandholdt" <sandholdt@esenet.dk> wrote in message
news:3e19df1c$0$250$edfadb0f@dread12.news.tele.dk...
> Jeg har et internt mailsystem med en autoincremential ID til alle mails.
> Der bliver løbende slettet mails og jeg vil gerne have mulighed for at
pakke
> mine mails så de ligger ID = 1-50 hvis der er 50 mails f.eks.
> Jeg bruger ikke selve ID'en til andet end at holde styr på rækkefølgen så
> det betyder ikke noget at give en mail en ny ID.
> Mit problem er så at når jeg har haft f.eks. 700 mails, slettet 600 og
> pakker det så har jeg dem som ID 1-100,
> men eftersom det er en autoincremential i MySql så bliver den næste nye
mail
> 701 og ikke 101 som det er meningen.
> Jeg kan lave løsningen uden autoincremential, men det er en rar ting at
have
> så man har styr på ID'erne.
>
> Er der nogen der har et løsningsforslag til mit problem?
>
> Mens jeg lige har jeres opmærksomhed har jeg et tillægsspørgsmål, jeg har
en
> funktion der kan hente IP'en på den besøgende.
> Er det også muligt at få MAC adressen? Eller på anden måde unikt at
bestemme
> PC'en (ikke cookies).
>
> Hilsen
> Morten
>
>



Kim Emax (08-01-2003)
Kommentar
Fra : Kim Emax


Dato : 08-01-03 11:22


"Morten Sandholdt" <sandholdt@esenet.dk> wrote

> Jeg har fundet en bøvlet løsning, jeg kan lave en ny tabel og kopiere alle
> data over i den, så kan jeg empty den gamle og kopiere dataene tilbage
uden
> deres gamle id, så vil det virke, men det er bøvlet
> Jeg vil stadig gerne høre hvis der er nogen der har en nem løsning.

Som udgangspunkt er det en særdeles dårlig ide at "genbruge" et ID, der
allerede en gang er brug. I din situation er det nok lidt ligegyldigt med
regler fra den perfekte verden, men det rejser en del problemer for dig.
Hvad hvis du slette mail 50-60 i en serie ud af 100? Er det meget vigtigt
for dig at dine IDs i databasen er fortløbende uden huller? Hvis du vil se
f.eks. 50 mails af gangen, så er LIMIT med OFFSET din ven: SELECT blabbla
FROM blabla LIMIT 100,50 viser dig mails fra 101 til 150, du kan så nemt
lave next -prev links til at vise 151-200 og 51-10

--
Kim Emax



Morten Sandholdt (11-01-2003)
Kommentar
Fra : Morten Sandholdt


Dato : 11-01-03 11:41

Det er ikke et problem med visningen men derimod at jeg nok på et tidspunkt
rammer loftet med ID'er hvis jeg ikke genbruger id'erne.


"Kim Emax" <news@remove-emax.dk> wrote in message
news:gZSS9.31402$Hl6.3247285@news010.worldonline.dk...
>
> "Morten Sandholdt" <sandholdt@esenet.dk> wrote
>
> > Jeg har fundet en bøvlet løsning, jeg kan lave en ny tabel og kopiere
alle
> > data over i den, så kan jeg empty den gamle og kopiere dataene tilbage
> uden
> > deres gamle id, så vil det virke, men det er bøvlet
> > Jeg vil stadig gerne høre hvis der er nogen der har en nem løsning.
>
> Som udgangspunkt er det en særdeles dårlig ide at "genbruge" et ID, der
> allerede en gang er brug. I din situation er det nok lidt ligegyldigt med
> regler fra den perfekte verden, men det rejser en del problemer for dig.
> Hvad hvis du slette mail 50-60 i en serie ud af 100? Er det meget vigtigt
> for dig at dine IDs i databasen er fortløbende uden huller? Hvis du vil se
> f.eks. 50 mails af gangen, så er LIMIT med OFFSET din ven: SELECT blabbla
> FROM blabla LIMIT 100,50 viser dig mails fra 101 til 150, du kan så nemt
> lave next -prev links til at vise 151-200 og 51-10
>
> --
> Kim Emax
>
>



Mads Lie Jensen (11-01-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 11-01-03 12:18

On Sat, 11 Jan 2003 11:40:41 +0100, "Morten Sandholdt"
<sandholdt@esenet.dk> wrote:

>Det er ikke et problem med visningen men derimod at jeg nok på et tidspunkt
>rammer loftet med ID'er hvis jeg ikke genbruger id'erne.

En alm. integer i mySQL kan indeholde ca. 2,1 milliard numre (ca 4,3
hvis den er unsigned). Det er mange Men hvis ikke det er nok kan du
f.eks bruge bigint til id-kolonnen. Den kan indeholde 9 milliarder
milliarder (hvis jeg har talt rigtigt, og nej, jeg aner ikke hvad man
kalder så store tal

Se evt. http://www.mysql.com/doc/en/Numeric_types.html

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

JMo. (11-01-2003)
Kommentar
Fra : JMo.


Dato : 11-01-03 18:49

Mads Lie Jensen <mads@gartneriet.dk> wrote in
news:k5vv1vkpvbr9v0ui6o91ose3cfmdq1a44k@4ax.com:

> (hvis jeg har talt rigtigt, og nej, jeg aner ikke hvad man
> kalder så store tal

Det hedder vist nok 9 tusinde trillioner...

Mads Lie Jensen (11-01-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 11-01-03 23:09

On Sat, 11 Jan 2003 17:48:56 +0000 (UTC), "JMo." <ns_sf008@mohr.cx>
wrote:

>> (hvis jeg har talt rigtigt, og nej, jeg aner ikke hvad man
>> kalder så store tal
>
>Det hedder vist nok 9 tusinde trillioner...

Njaa... ikke helt. Sidder med en ordbog som siger:
1 trillion - en million billioner, dvs. et ettal fulgt af 18 nuller.

Så det er 'kun' 9 trillioner

Det bør vist være nok

Men selv hvis der kun blev brugt en alm. unsigned INT til det felt med
autoincrement, og der blev oprettet 1 million nye poster i databasen pr.
dag, så ville der være nok tal til næsten 6 år.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

JMo. (12-01-2003)
Kommentar
Fra : JMo.


Dato : 12-01-03 12:04

Mads Lie Jensen <mads@gartneriet.dk> wrote in
news:eb312v08pvbtuh3utmq9l252n3l15snjq3@4ax.com:

>>Det hedder vist nok 9 tusinde trillioner...
>
> Njaa... ikke helt. Sidder med en ordbog som siger:
> 1 trillion - en million billioner, dvs. et ettal fulgt af 18 nuller.

Du har ret.. Det andet var jo på amerikansk...

Mads Lie Jensen (12-01-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 12-01-03 12:57

On Sun, 12 Jan 2003 11:03:49 +0000 (UTC), "JMo." <ns_sf008@mohr.cx>
wrote:

>>>Det hedder vist nok 9 tusinde trillioner...
>>
>> Njaa... ikke helt. Sidder med en ordbog som siger:
>> 1 trillion - en million billioner, dvs. et ettal fulgt af 18 nuller.
>
>Du har ret.. Det andet var jo på amerikansk...

Det er det faktisk heller ikke - en amerikans (og fransk) trillion er
et ettal fulgt af 12 nuller.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408538
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste