Avatar billede buch78 Novice
14. september 2003 - 21:08 Der er 16 kommentarer og
1 løsning

låse et felt.. imens det er i brug

Hejsa.. jeg kunne godt tænke mig at vide om man kan låse et felt imens en bruger er igang med det...

og hvordan det kan gøret hvis det er muligt
Avatar billede simonvalter Praktikant
14. september 2003 - 21:11 #1
Avatar billede simonvalter Praktikant
14. september 2003 - 21:15 #2
hvis det er i forbindelse med noget php kan du se her for et eksempel
http://www.canowhoopass.com/weav/wssig/mysql_lockexample.php?show=yes
Avatar billede buch78 Novice
14. september 2003 - 21:23 #3
ja det skulle bruges i forbindelse med php... jeg er lige ved at kigge på det sidste link
Avatar billede buch78 Novice
14. september 2003 - 21:28 #4
Ret mig lige hvis jeg tager fejl...

I Ren SQL
LOCK TABLES cpr Read;  // låser til man ikke kan skrive
LOCK TABLES cpr WRITE // låser så man ikke kan opdatere

Hvordan låser man så kun et felt op igen.. jeg kan kun finde ud af at låse alle op igen
UNLOCK TABLES;
Avatar billede simonvalter Praktikant
14. september 2003 - 21:35 #5
ja sådan forstår jeg det også ..
og hvordan eller om du kun kan låse et table op igen må jeg desværre melde pass til.. ifølge syntaxen ser det ikke ud til at være muligt
Avatar billede arne_v Ekspert
14. september 2003 - 22:03 #6
MySQL kan ikke låse felter kun tabeller.

Jeg kan heller ikke lige komme i tanke om andre databaser der kan
låse felter.

Der er derimod mange andre databaser som kan låse rækker.
Avatar billede buch78 Novice
14. september 2003 - 22:08 #7
Jeg tænkte på at hvis en brugeren har smidt noget fx. indkøbsvognen???? så skal en anden bruger ikke have lov til at tage den samme....

Er der nogle der har e fix måde at lave dette på
Avatar billede arne_v Ekspert
14. september 2003 - 22:12 #8
Det vil du *ikke* lave ved at låse tabellen eller rækken.

Hvis den pågældende person er 10 minutter om at bestemme sig
så vil tabellen være låst i 10 minutter !
Avatar billede buch78 Novice
14. september 2003 - 22:13 #9
nåå ja selvfølig... hvordan kan man så lave det... :-)
Avatar billede arne_v Ekspert
14. september 2003 - 22:14 #10
Men jeg kan godt se problemet.

Mit umiddelbare forslag vil være at have 2 værdier:
  antal på lager
  antal ureserveret
tæl den sidste ned ligeså snart de smider i kurven og hvis de køber
tæller du den første ned ellers tæller du den anden op igen.
Avatar billede buch78 Novice
14. september 2003 - 22:16 #11
ok det lydder meget rimeligt.. andre forslag
Avatar billede arne_v Ekspert
14. september 2003 - 22:16 #12
Så får brugeren fejl hvis ikke man kan reservere en enhed.

Hvis det kniber med at håndtere alle fejl-situationer (så ureserveret
ikke bliver talt op igen), så kan man sætte den anden lig med den første
på et tidspunkt hvor der ikke er aktive sessioner.
Avatar billede arne_v Ekspert
14. september 2003 - 22:18 #13
Du kan også satse og bare lade dem smide i kurv, holde kurv i memory
og så processe hele transaktionen i et hug og lade den fejle hvis nogen
har snuppet varen i mellem tiden.

Hvis det sker tilpas sjældent (afhænger af typen af forretning), så
kan man måske godt leve med det.
Avatar billede arne_v Ekspert
14. september 2003 - 22:21 #14
Du kan også tælle antal på lager ned og antal i kurv op når der ligges
i kurv, sælge fra kurv og flytte tilbage fra kurv ved fortryd. I tilfælde
af fejl, så kan alle kurve ligges tilbage, når der ikke er nogen på
systemet.
Avatar billede arne_v Ekspert
14. september 2003 - 23:20 #15
Og et svar så fremt mine kommentarer kunne bruges til noget.
Avatar billede besoft Nybegynder
15. september 2003 - 12:30 #16
Bare lad folk smide i kurven, og for at sikre dig selv mod for mange bestillinger, smider du bare teksten : "Vi tager forbehold for udsolgte varer" ind et eller andet sted.
Avatar billede arne_v Ekspert
27. september 2003 - 13:38 #17
Tid at lukke spørgsmålet ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester