Kom ihåg mig?
Home Menu

Menu


Först lediga Id i mySQL

 
Ämnesverktyg Visningsalternativ
Oläst 2010-12-18, 19:26 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Generellt bör man vara försiktig med att använda autoincrement om det finns en naturlig primärnycken man kan använda i stället. Det är viktigt att man tänker igenom hur man definierar primärnyckel i varje tabell.

Jag skulle aldrig ge mig in på att "återanvända" första lediga nyckel just i en autoincrement PK. när man använder naturliga primärnycklar kan man göra det får då finns värdet definierat utanför systemet.

Syftet med autoincrement är att kunna använda en PK där inga naturliga nycklar skulle passa, exempelvis för ordernummer, fakturanummer m.m.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-21, 12:42 #2
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Generellt bör man vara försiktig med att använda autoincrement om det finns en naturlig primärnycken man kan använda i stället. Det är viktigt att man tänker igenom hur man definierar primärnyckel i varje tabell.

Syftet med autoincrement är att kunna använda en PK där inga naturliga nycklar skulle passa, exempelvis för ordernummer, fakturanummer m.m.
Där håller jag inte riktigt med.
Jag tycker det är bra att ha en autoincrement primärnyckel så ofta som möjligt. Jag tycker det är en bra struktur när man alltid kan referera till en rad med tabell.id. Om man ska naturliga primärnycklar så blir det oftast strängar och då blir indexen gigantiska(och därmed långsamma) i många fall när man har stora tabeller.

Ordernummer och fakturanummer tycker jag är bra exempel på tillfällen då man inte ska använda autoincrement utan här borde varje ID slumpas fram av säkerhetsskäl.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-21, 13:25 #3
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Ordernummer och fakturanummer tycker jag är bra exempel på tillfällen då man inte ska använda autoincrement utan här borde varje ID slumpas fram av säkerhetsskäl.
Det är väl ett bokföringsbrott att slumpa fram fakturanummer?

I övrigt håller jag med dig om att tekniska heltalsnycklar är bra för att få ner indexstorleken, men de är trots allt inte alltid att föredra. Det beror ju mycket på tabellen och så också. För små tabeller finns det ju liten eller ingen anledning att använda annat än naturliga primärnycklar.
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-21, 15:17 #4
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Ja, i exemplet med landskoder är det ju såklart en bra idé att använda landskoden som primärnyckeln.
Men jag har sett system där man t.ex. använder person-/organisationsnummer som primärnycken och sparar dessa med strecket som en stäng, dvs 000000-0000. Det ger väldigt dåliga index tycker jag även om det är ett "bra" naturligt index.

Citat:
Ursprungligen postat av emilv Visa inlägg
Det är väl ett bokföringsbrott att slumpa fram fakturanummer?
Är det verkligen så?
Jag vill inte skicka ut fakturor med ett autoincrementnummer som fakturanummer. Då kan ju alla se exakt hur många fakturor man skickar ut under en viss tidsperiod och det ser jag som en företagshemlighet...
Men det kanske bara gäller i bokföringen så man kan skriva ett annat referensnummer på fakturan man skickar ut?
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-21, 16:23 #5
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Är det verkligen så?
Jag vill inte skicka ut fakturor med ett autoincrementnummer som fakturanummer. Då kan ju alla se exakt hur många fakturor man skickar ut under en viss tidsperiod och det ser jag som en företagshemlighet...
Men det kanske bara gäller i bokföringen så man kan skriva ett annat referensnummer på fakturan man skickar ut?
http://www.wn.se/showthread.php?p=20341439
http://www.skatteverket.se/rattsinfo...800028340.html
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-12-21, 16:35 #6
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Ja, i exemplet med landskoder är det ju såklart en bra idé att använda landskoden som primärnyckeln.
Men jag har sett system där man t.ex. använder person-/organisationsnummer som primärnycken och sparar dessa med strecket som en stäng, dvs 000000-0000. Det ger väldigt dåliga index tycker jag även om det är ett "bra" naturligt index.



Är det verkligen så?
Jag vill inte skicka ut fakturor med ett autoincrementnummer som fakturanummer. Då kan ju alla se exakt hur många fakturor man skickar ut under en viss tidsperiod och det ser jag som en företagshemlighet...
Men det kanske bara gäller i bokföringen så man kan skriva ett annat referensnummer på fakturan man skickar ut?
Jag ser det som en tämligen värdelös företagshemlighet Hur som helst så går det bra att använda andra system än 1-2-3-4 osv. så länge det finns en löpande korrekt serie utan avbrott. Se lagtexten.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 09:57.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017