Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP/MySQL] - commit klappt nicht (https://www.delphipraxis.net/152896-%5Bphp-mysql%5D-commit-klappt-nicht.html)

mkinzler 11. Jul 2010 21:23

AW: [PHP/MySQL] - commit klappt nicht
 
SQL-Code:
Select Active from course_registrations WHERE <Bedingung des Updatebefehls>;

alcaeus 11. Jul 2010 21:24

AW: [PHP/MySQL] - commit klappt nicht
 
Moin,

also, wenn du einen Update und anschliessenden Select machst und nicht willst, dass da ein anderer Update-Prozess dazwischenkommt, dann musst du definitiv mit Locks arbeiten. Transaktionen sind nur fuer Inserts und Commits, und ohne Locks kann dir ein anderer Update-Prozess dazwischenfunken.
Je nach Anwendungsfall ist es aber besser, den finalen Wert anzuzeigen, also inkl. eines eventuellen zwischenzeitlichen Updates.

Greetz
alcaeus

fkerber 11. Jul 2010 21:28

AW: [PHP/MySQL] - commit klappt nicht
 
Hi!

Das ist doch exakt das, was ich oben tue?!
Nur genau das funktioniert ja nicht.
Oder zumindest führt es dazu, dass die Transaktion failed und dann ein rollback macht.

@alcaeus:
Ok, "schade"
Und es gibt auch keinen feinkörnigeren Lock als gleich die ganze Tabelle?
Den finalen Wert hier auszugeben, ist leider keine Option an dieser Stelle. Ich muss gezielt dieses Update reflektieren.

Grüße,
Frederic

mkinzler 11. Jul 2010 21:30

AW: [PHP/MySQL] - commit klappt nicht
 
Ist es denn sehr wahrscheinlich, dass jemand anderes genau diesen Satz gleichzeitig updatet?

fkerber 11. Jul 2010 21:32

AW: [PHP/MySQL] - commit klappt nicht
 
Hi!

In der Vergangenheit hat sich gezeigt, dass Nutzer dazu neigen, Links mit Doppelklicks auszuführen und da sind schon komische Konstellationen zustande gekommen.
Ich kann nicht genau sagen, ob es damit zu lösen ist, aber ich will es so fehlerfrei wie irgend möglich machen.


Grüße,
Frederic

mkinzler 11. Jul 2010 21:34

AW: [PHP/MySQL] - commit klappt nicht
 
Bei einem Doppelklick würde dsann aber 2 Mal der selbe Updatebefehl durchgeführt

himitsu 11. Jul 2010 21:34

AW: [PHP/MySQL] - commit klappt nicht
 
Werden diese MultiQuery zusammen verarbeitet oder kann da eine andere Abfrage dazwischenfunken?

http://www.phpbuddy.eu/mysqli-erweit...5.html?start=5

fkerber 11. Jul 2010 21:37

AW: [PHP/MySQL] - commit klappt nicht
 
Hi!

Nein, leider nicht:

SQL-Code:
UPDATE course_registrations SET active = NOT active WHERE participantId=? AND courseId=?


@himitsu:
Nach meinem Kenntnisstand ist das nicht transaktionssicher.

Grüße, Frederic

alcaeus 11. Jul 2010 21:38

AW: [PHP/MySQL] - commit klappt nicht
 
Zitat:

Zitat von fkerber (Beitrag 1034858)
@himitsu:
Nach meinem Kenntnisstand ist das nicht transaktionssicher.

Korrekt.

Greetz
alcaeus

mkinzler 11. Jul 2010 21:38

AW: [PHP/MySQL] - commit klappt nicht
 
Na dann ist das natürlich ungeschickt


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.
Seite 2 von 4     12 34      

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