Kom ihåg mig?
Home Menu

Menu


Mysql/asp - Id För Senast Inlagd

 
Ämnesverktyg Visningsalternativ
Oläst 2004-09-16, 00:17 #11
esset esset är inte uppkopplad
Medlem
 
Reg.datum: Sep 2004
Inlägg: 73
esset esset är inte uppkopplad
Medlem
 
Reg.datum: Sep 2004
Inlägg: 73
Problemet kommer ju med ökningen av förfrågningar till databasen. Körs 5 inserts till databasen samtidigt och det laggar hos någon kommer person 1 få person 5:s post. Är ni med? Risky.

Bästa lösningen är som någon innan sa, kolla med samtliga värden som lades in och hämta den posten istället. Garanterat säkrast.
esset är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 01:11 #12
Anders Anders är inte uppkopplad
Supermoderator
 
Reg.datum: Oct 2003
Inlägg: 833
Anders Anders är inte uppkopplad
Supermoderator
 
Reg.datum: Oct 2003
Inlägg: 833
Citat:
Originally posted by gabriel@Sep 16 2004, 00:14
Är du säker på det där?
Jag har hört att just den funktionen i PHP skall klara av att få det id man stoppa in med egna scriptet senast...
Kommer inte ihåg vart, men jag har läst att det kan bli fel och att man inte ska använda den utan att kontrollera resultatet. Och om man ändå ska kolla så är det ju desamma att göra det själv från första början.
Anders är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 10:37 #13
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Ursprungligen postat av Anders
Citat:
Ursprungligen postat av knafve
Eru galen eller? Har hört att det är spöstraff på att skriva sådan kod juh.
Den koden kommer ju utan tvekan att returnera fel värde förr eller senare.
Samma sak med koden som orreborre postade med mysql_insert_id();
Jag brukar, för att vara på den säkra sidan, ställa en fråga till databasen med de värden jag nyss lade in för att få id på den nya raden.
Jag gör på samma sätt...
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 10:59 #14
rics avatar
ric ric är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Feb 2004
Inlägg: 665
ric ric är inte uppkopplad
Mycket flitig postare
rics avatar
 
Reg.datum: Feb 2004
Inlägg: 665
"Id För Senast Inlagd"

får man fråga vad ni använder det till?
ric är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 11:17 #15
Per Per är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2003
Inlägg: 719
Per Per är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2003
Inlägg: 719
Citat:
Originally posted by ric@Sep 16 2004, 10:59
"Id För Senast Inlagd"

får man fråga vad ni använder det till?
Ex. vid en shop, då order läggs:

Lägg in i ordertabellen, få tillbaka order-id.
Lägg in varorna i varortabellen, i tabellen finns orderid för att veta vilka varor som hör till vilken order. Där används alltså order-id.
__________________
www.ip2nation.com (ip till land)
Per är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 11:34 #16
ZNs avatar
ZN ZN är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Apr 2003
Inlägg: 1 214
ZN ZN är inte uppkopplad
Har WN som tidsfördriv
ZNs avatar
 
Reg.datum: Apr 2003
Inlägg: 1 214
Citat:
Originally posted by Anders@Sep 15 2004, 23:53
Samma sak med koden som orreborre postade med mysql_insert_id();
Det tvivlar jag på, men annars kan man för säkerhets skull skicka med "resource link identifiern".
ZN är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 12:41 #17
Jesters avatar
Jester Jester är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2004
Inlägg: 363
Jester Jester är inte uppkopplad
Flitig postare
Jesters avatar
 
Reg.datum: Apr 2004
Inlägg: 363
Skulle väl tro att du ha löst detta vid det här laget, men vad jag förstår från www.myswlfreaks.com lista över statements borde denna kod fungera alldeles utmärkt:

Kod:
SELECT LAST_INSERT_ID();
Citat:
You can generate sequences without calling LAST_INSERT_ID(), but the utility of using the function this way is that the ID value is maintained in the server as the last automatically generated value (multi-user safe).
Samma diskussion fast på ett annat forum:
http://www.experts-exchange.com/Data..._20709537.html

EDIT: Länk...
Jester är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 13:41 #18
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Frågan är om man inte bör köra application.lock också.

Kod:
Application.Lock()

Sätt in i db
Hämta last inserted

Application.Unlock()
Då hamnar alla andra "på kö"

Numet kör jag iof .NET och SQLServer, mucho enklare.
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 14:31 #19
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Originally posted by digiArt@Sep 16 2004, 13:41
Numet kör jag iof .NET och SQLServer, mucho enklare.
Finns det någon specialare för detta i .Net? Vad har jag missat här? =)
Robert är inte uppkopplad   Svara med citatSvara med citat
Oläst 2004-09-16, 14:56 #20
Starwebs avatar
Starweb Starweb är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2004
Inlägg: 332
Starweb Starweb är inte uppkopplad
Flitig postare
Starwebs avatar
 
Reg.datum: Jan 2004
Inlägg: 332
Det finns 3 sätt att göra på direkt i databas förfrågningen:
* LAST_INSERT_ID()
* @@IDENTITY
* MAX(Id)

Alltså tex: SELECT @@IDENTITY FROM databasnamn


LAST_INSERT_ID() och @@IDENTITY är samma/bra, MAX(Id) är inte att rekommendera dock.
Starweb ä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 14:17.

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