php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.04.2009, 17:02  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 434
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] LOCK TABLES - Thread statt Table???

Verehrte PHP.de-Forum'ler,

ein Fehler im heutigen Nachtlauf bescherte mir schon eine Partie NHL2005, um meinen Debuggingfrust einzudämmen. Was in der Entwicklungsumgebung (XAMPP, Win) funktioniert, läuft nicht im Live-Betrieb (Linux) ...

Vorab: Ja, es sind (mind.) zwei verschiedene Datenbanken (Cluster-Betrieb)!

Problembeschreibung, die ein Funktionsaufruf mitbringt (sinnwahrend gekürzt):
Code:
function __finalize(){
LOCK TABLES `foo` WRITE (in DB1)
SELECT * FROM `foo` WHERE [...] (in DB1)
UPDATE `bar` SET [...] (in DB2)
INSERT INTO `fehlersack` (in DB1)
DELETE FROM `foo` WHERE [...] (in DB1)
UNLOCK TABLES
}
`fehlersack` schmeißt mir nun Unruhe bringend ein "Database Error: 1100 | Table 'fehlersack' was not locked with LOCK TABLES" - aber warum sollte er gelockt sein?

Nur `foo` soll für diese Operation gesperrt werden, da dies der Bereich ist, der als "kritisch" eingestuft wird und wo während des Nachtlaufs nichts ergänzt werden oder passieren darf. Sinngem. würde aber in diesem Fall - so wie es der Befehl eigentlich sagt - nicht die Table für eine Operation eingeschränkt werden, sondern der Thread, der da arbeitet. Denn wenn dieser sich auf das "beschränkt", was vorher per LOCK ermöglicht wurde, würde das den Fehler bei gleicher Datenbank erklären ... aber eben nicht, wie es im Manual (mySQL), O'Reilly's "kurz & gut" or else steht.

Denn von der Logik her müsste er doch weiterhin in eine Table schreiben können, die eben nicht ge'LOCK't ist, oder? Es ist nur eine Reservierung für den Zugriff auf eine Tabelle eines bestimmten Threads (hier: der Cronjob) ...

Ich bitte um Augenöffnen, Steinigen oder Mitgefühl!

Danke.
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.04.2009, 01:33  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 434
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schade ... aber danke fürs Lesen - ich werde eine andere Lösung erdenken.
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Query optimieren __abcde__ Datenbanken 8 28.08.2008 10:44
PHP/MySQL: QCodo's Code-Generator Zergling-new Tutorials 2 09.05.2008 05:33
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Ist SQL-Syntax verschachtelbar? (CHECK/REPAIR all table) sponer Datenbanken 0 29.04.2006 22:11
[Erledigt] TRUNCATE TABLE Datenbanken 5 20.01.2006 09:47
[mysql] Table Design bei grossen Datenmengen Datenbanken 5 02.10.2005 13:25
Problem mit mySQL Datenbanken 7 27.09.2005 12:06
PHP-Fehlermeldung, weiss nicht mehr weiter PHP Tipps 2005-2 12 21.09.2005 12:56
Tables PHP Tipps 2005-2 0 05.08.2005 13:39
LOCK TABLES / LAST_INSERT_ID AliceD Datenbanken 3 20.07.2005 13:45
dump probleme nach table änderung... nautiluS Datenbanken 2 15.12.2004 14:20
abfrage sortierung aber wie Fraylman Datenbanken 13 16.07.2004 15:32
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45
[Erledigt] table eintrag grösse Datenbanken 5 05.06.2004 02:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
was not locked with lock tables, table was not locked with lock tables, lock table php, lock tables, sqlite lock, lock tables oder lock table, was not locked with lock tables repair, mysql was not locked with lock tables thread, php lock tables error, \ was not locked with lock tables\, \was not locked with lock tables\, sqlite \lock table\, \table lock\ \delete from\, \sql server\ table lock, sqlite \lock tables\, sqlite table locking, sqlite php lock, #1100 - table \'\' was not locked with lock tables, lock table db2, php table was not locked with lock tables

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum