![]() |
[PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Hi!
Ich habe einen Datensatz, aus dem wird ein Wert gelesen, etwas dazu gezählt und dann wird der neue Wert wieder abgespeichert. Ich hab jetzt aber ein Problem. Was passiert wenn zwei User genau gleichzeitig diese Funktion ausführen? Es werden die gleichen Werte ausgelesen und dann zwei unterschiedliche geschrieben. Das Problem dabei ist, dass der Wert von User 2 drin steht, aber das von User 1 jetzt gar nicht dazugezählt wurde... Wie kann ich das verhindern? Gruß mr47 |
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Also wenn ich das jetzt richtig verstehe addiert die Funktion zu einem in der Datenbank stehenden Wert etwas hinzu?!
Dann müsste sich das Problem doch durch Verwenden einer solchen Update-Query lösen lassen:
SQL-Code:
Also einfach die Datenbank addieren lassen.
update TABELLE set FELD = FELD + X
Benutzt du mySQL mit oder ohne Transaktionen? |
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Zitat:
Zitat:
Danke, mr47 |
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Zitat:
Das heißt wohl soviel wie nein ;) Wenn du MyISAM (der Standard-Tabellentyp) verwendest, gibt es ohnehin keine Transaktionen. |
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Zitat:
|
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Transaktionen sorgen halt dafür, dass du einen ganzen Block von Anweisungen an die Datenbank schicken kannst und das dann eine atomare Aktion ist, d.h. entweder sie wird ganz durchgeführt oder gar nicht. Wenn du keine Transaktionen verwendest, kanns halt passieren, dass zwischen zweien deiner Befehle was passiert, was deine ganze Logik durcheinanderwürfelt. Kommt halt immer auf die konkrete Situation an, obs da Probleme gibt.
Wenn du immer nach genau einem Query einen stabilen Zustand erreichst, brauchst du keine Transaktionen. |
Re: [PHP+MYSQL] Gleichzeitige Zugriffe auf Datenbank
Genau so ist es, ich sende immer nur einzelne Querys.
Ich danke euch vielmals!!! :) Gruß mr47 :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz