Wie verhält sich mysql nach "Lock Tables" ?
Stefan
- datenbank
Liebe Datenbank-Athleten,
ich implementiere gerade Nested Sets in mysql4.1 über PHP. Für einige Manipulationen ist es notwendig, über "LOCK TABLES" die NestedSets-Tabelle zu sperren, um die Integrität der Verknüpfungen nicht zu gefährden.
Da ich das gerade nur recht aufwendig testen kann: weiß hier jemand, wie sich mysql verhält, wenn ein "konkurierender" Thread versucht, auf die gesperrte Tabelle zuzugreifen? "Wartet" mysql einen bestimmten Zeitraum mit der Anfrage um sie dann nach der Freigabe der Tabelle auszuführen, oder wird ein Fehler zurückgegeben, den man per PHP behandeln muß?
Danke schonmal,
Stefan
echo $begrüßung;
weiß hier jemand, wie sich mysql verhält, wenn ein "konkurierender" Thread versucht, auf die gesperrte Tabelle zuzugreifen?
Laut Handbuch wartet MySQL.
echo "$verabschiedung $name";
Hallo,
Laut Handbuch wartet MySQL.
Ich hab´s sogar vorher gelesen, bin aber über diese Formulierung gestolpert:
"it blocks until all locks can be acquired"
... was ja nun alles bedeuten kann.
Aber stimmt: weiter unten steht "subsequent READ lock requests wait until the WRITE thread has gotten the lock and released it."
if ($stefan == 'blindfisch') {
echo "Argh.";
}
Danke!
yo,
mag sein das myswql wartet, php wird das aber je nach einstellung eventuell nicht tun, sondern nach einer definierten zeit abbrechen.
Ilja