PythonQ 240-8XX Manual de usuario Pagina 467

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 466
446 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Wenn Sie das Schl¨usselwort IGNORE angeben, bricht das UPDATE-Statement nicht ab,
selbst wenn ahrend der Aktualisierung Fehler wegen doppelter Schl ¨usseleintr¨age auftreten.
Zeilen, die Konflikte verursachen w¨urden, werden nicht aktualisiert.
Wenn Sie auf eine Spalte von tabelle in einem Ausdruck zugreifen, benutzt UPDATE den
momentanen Wert der Spalte. Folgendes Statement zum Beispiel setzt die age-Spalte auf
ihren momentanen Wert plus 1:
mysql> UPDATE personen SET age=age+1;
UPDATE-Zuweisungen werden von links nach rechts ausgewertet. Folgendes Statement zum
Beispiel verdoppelt die age-Spalte und inkrementiert sie danach:
mysql> UPDATE personen SET age=age*2, age=age+1;
Wenn Sie eine Spalte auf einen Wert setzen, den sie momentan besitzt, erkennt MySQL
dies und aktualisiert sie nicht.
UPDATE gibt die Anzahl von Zeilen zur¨uck, die tats¨achlich ge¨andert wurden. Ab MySQL-
Version 3.22 gibt die C-API-Funktion mysql_info() die Anzahl von Zeilen zur¨uck, die
¨ubereinstimmten und aktualisiert wurden, und die Anzahl von Warnungen, die ahrend
UPDATE geschahen.
In MySQL-Version 3.23 onnen Sie LIMIT # benutzen, um sicherzustellen, dass nur eine
angegebene Anzahl von Zeilen ge¨andert wird.
7.4.6 DELETE-Syntax
DELETE [LOW_PRIORITY | QUICK] FROM tabelle
[WHERE where_definition]
[ORDER BY ...]
[LIMIT zeilen]
oder
DELETE [LOW_PRIORITY | QUICK] tabelle[.*] [tabelle[.*] ...] FROM
tabellenverweis [WHERE where_definition]
DELETE oscht Zeilen aus tabelle, die mit der in where_definition angegebenen Bedin-
gung ¨ubereinstimmen, und gibt die Anzahl der gel¨oschten Datens¨atze zur¨uck.
Wenn Sie DELETE ohne WHERE-Klausel angeben, werden alle Zeilen gel¨oscht. Wenn Sie
das im AUTOCOMMIT-Modus machen, funktioniert es wie TRUNCATE. Siehe Abschnitt 7.4.7
[TRUNCATE], Seite 447. In MySQL 3.23 gibt DELETE ohne eine WHERE-Klausel als Anzahl
von betroffenen Datens¨atzen 0 zur¨uck.
Wenn Sie wissen wollen, wie viele Datens¨atze tats¨achlich gel¨oscht wurden, wenn Sie alle
Zeilen oschen, und eine Geschwindigkeitseinbusse in Kauf nehmen, onnen Sie ein DELETE-
Statement folgender Form eingeben:
mysql> DELETE FROM tabelle WHERE 1>0;
Beachten Sie, dass das VIEL langsamer als DELETE FROM tabelle ohne WHERE-Klausel ist,
weil es Zeilen eine nach der anderen oscht.
Wenn Sie das Schl¨usselwort LOW_PRIORITY angeb en, wird die Ausf¨uhrung von DELETE
verz¨ogert, bis kein anderer Client mehr aus der Tabelle liest.
Vista de pagina 466
1 2 ... 462 463 464 465 466 467 468 469 470 471 472 ... 767 768

Comentarios a estos manuales

Sin comentarios