Wie kann sichergestellt werden, dass die MySQL-Datenbank keine Race-Bedingung enthält, wenn ein Feld inkrementiert wird?
Wie kann man eine Racebedingung in der MySQL-Datenbank verhindern, wenn zwei Verbindungen denselben Datensatz aktualisieren möchten?
Zum Beispiel möchte Verbindung 1 den "Versuche" -Zähler erhöhen. Und die zweite Verbindung möchte dasselbe tun. Beide VerbindungenSELECT
die "Versuche" zählen, erhöhen Sie den Wert und beidesUPDATE
"probiert" mit dem erhöhten Wert. Plötzlich bedeutet "Versuche" nur "Versuche + 1" anstatt "Versuche + 2", da beide Verbindungen die gleichen "Versuche" erhalten und um eins erhöht haben.
Wie kann man dieses Problem lösen?