MySQL und Transactions

Gast #1848060
Guten Morgen!

zum Schreiben von Daten gibts bei MySQL ja Transactions, mit denen 
mehrere Schreiboperationen zu einer atomaren ausgeführten 
Schreiboperationen zusammengefasst - oder im Fehlerfall verworfen 
werden.

Gibt's für's Lesen eigentlich auch sowas?

D.h. angenommen, ich hab Daten, die liegen in 2 Tabellen. Ich würde nun 
gerne meine MYSQL-Abfragen atomar ausführen, d.h. zwischen query 1 und 
query 2 darf niemand was in eine der beide Tabellen reinschreiben, weil 
sonst meine Ergebnisse inkonsistent werden.

Ich verwende übrigens JDO + Datanucleus + MySQL unter Java.

Grüße,
Fetz von Fetzenstein
Gast
Wenn jemand in die Tabellen mit einer Transaktion reinschreibt dann 
kannst du sie im normalfall eh nicht lesen. Ausser die liest mit 
"uncommitted read"
Persönliche Seite
Transaktionen gibt es auch fürs lesen, wieso auch nicht, je nach 
Transaktionsmodus kreigst du dan erstmal vom Schreiben anderer nix mit. 
Nur kannst du das ganze nicht "verwerfen" oder "annehmen" das ist auch 
nur beim schreiben sinnvoll.
Am Einfachsten geht es allerdings wenn du von vornherein deine Daten 
zusammen abfragst (z.B. über einen Join).
JDO sollte das aber (eigentlich) von selbst handhaben.
Gast
Läubi .. schrieb:
> Transaktionen gibt es auch fürs lesen, wieso auch nicht, je nach
> Transaktionsmodus kreigst du dan erstmal vom Schreiben anderer nix mit.
> Nur kannst du das ganze nicht "verwerfen" oder "annehmen" das ist auch
> nur beim schreiben sinnvoll.
> Am Einfachsten geht es allerdings wenn du von vornherein deine Daten
> zusammen abfragst (z.B. über einen Join).
> JDO sollte das aber (eigentlich) von selbst handhaben.

Ich hab jetzt endlich rausgefunden wie man richtige SQL-Abfragen mit JDO 
ausführt und das funktioniert sogar.

Jetzt kann ich ganz gewohnt meine Tables joinen und alles in einem 
Rutsch erledigen ...

Danke für den Denkanstoß!

Grüße,
Fetz

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.