Mailinglisten-Archive |
Alexander Meis wrote: > Ist es möglich 2 tabellen mit einem select statement zu > updaten ? Mit einem select-Statement updated man gar nicht. Dafür ist das update-Statement zuständig. In einer richtigen Datenbank kann man mit einem "SELECT ... FOR UPDATE" in mehrere Tabellen Spalten sperren, diese dann einzeln mit getrennten UPDATE-Anweisungen ändern und schließlich mit einem COMMIT die Sperren fallen lassen. Alternativ hat man eine ganz richtige Datenbank (etwa Oracle 8), die updateable Views hat. Dann kann man sich einen View zusammenlöten und diesen mit einem einzigen UPDATE bearbeiten. Oracle pult das dann intern auseinander. In MySQL geht das nicht so schön. Dort muß man sich mit LOCK TABLES a, b, c WRITE die Tabellen sperren, dann seine UPDATE-Anweisungen fahren und mit UNLOCK TABLES die Sperren fallen lassen. Das sind aber Table- und keine Row-Locks, das kostet also Performance. > Kann man das irgentwie in einem Statement machen ? Nein. Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive