PythonQ 240-8XX Manual de usuario Pagina 464

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 768
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 463
Kapitel 7: MySQL-Sprachreferenz 443
die Werte in einer Komma-getrennten Liste angegeben, wobei es oglich ist, nur Werte f¨ur
einige erste Spalten anzugeben.
Die dritte Form holt eine (oder mehrere, festgelegt durch die LIMIT-Klausel) Zeile in Index-
Reihenfolge aus der Tabelle, bei der die WHERE-Bedingung erf¨ullt ist.
Die vierte Form (ohne Index-Angabe) holt eine (oder mehrere, festgelegt durch die LIMIT-
Klausel) Zeile in nat¨urlicher Zeilenreihenfolge aus der Tabelle (wie in der Daten-Datei gespe-
ichert), bei der die WHERE-Bedingung erf¨ullt ist. Das ist schneller als HANDLER tabelle READ
index, wenn ein kompletter Tabellen-Scan erw¨unscht ist.
Die letzte Form schließt eine mit HANDLER ... OPEN ge¨offnete Tabelle.
HANDLER ist in gewisser Hinsicht ein Statement auf niedriger Ebene (Low-Level), dass zum
Beispiel keine Konsistenz gew¨ahrleistet. Das heißt, HANDLER ... OPEN nimmt KEINEN
Schnappschuss der Tabelle auf und sperrt die Tabelle NICHT. Das bedeutet, dass nach
HANDLER ... OPEN Tabellendaten ver¨andert werden onnen (durch diesen oder einen an-
deren Thread) und dass diese Ver¨anderungen nur teilweise in HANDLER ... NEXT- oder
HANDLER ... PREV-Scans erscheinen.
7.4.3.1 INSERT ... SELECT-Syntax
INSERT [LOW_PRIORITY] [IGNORE] [INTO] tabelle [(spalten_liste)] SELECT ...
Mit dem INSERT ... SELECT-Statement onnen Sie schnell viele Zeilen aus einer oder
mehreren anderen Tabellen einf¨ugen.
INSERT INTO temporaere_tabelle2 (fldID) SELECT temporaere_tabelle1.fldOrder_ID FROM temporaere_tabelle1 WHERE
temporaere_tabelle1.fldOrder_ID > 100;
Folgende Bedingungen gelten f¨ur ein INSERT ... SELECT-Statement:
Die Ziel-Tabelle des INSERT-Statements darf nicht in der FROM-Klausel des SELECT-
Teils der Anfrage erscheinen, weil es in ANSI-SQL verboten ist, aus derselben Tabelle
auszuahlen (SELECT), in die eingef¨ugt wird. (Das Problem liegt darin, dass das SELECT
oglicherweise Datens¨atze finden w¨urde, die fr¨uher ahrend desselben Laufs eingef¨ugt
wurden. Wenn man Sub-Select-Klauseln verwendet, onnte die Situation schnell sehr
verwirrend werden!)
AUTO_INCREMENT-Spalten funktionieren wie gehabt.
Sie onnen die C-API-Funktion mysql_info() benutzen, um Informationen ¨uber die
Anfrage zu erhalten. Siehe Abschnitt 7.4.3 [INSERT], Seite 442.
Um sicherzustellen, dass die Update-Log-Datei/Bin¨ar-Log-Datei benutzt werden kann,
um die Original-Tabellenl¨ange neu zu erzeugen, aßt MySQL ahrend INSERT ....
SELECT keine gleichzeitigen Einf¨ugeoperationen zu.
Sie onnen nat¨urlich REPLACE anstelle von INSERT benutzen, um alte Zeilen zu
¨uberschreib en.
7.4.4 INSERT DELAYED-Syntax
INSERT DELAYED ...
Die DELAYED-Option f¨ur das INSERT-Statement ist eine MySQL-spezifische Option, die sehr
n¨utzlich ist, wenn Sie Clients haben, die nicht warten onnen, bis das INSERT fertig ist.
Vista de pagina 463
1 2 ... 459 460 461 462 463 464 465 466 467 468 469 ... 767 768

Comentarios a estos manuales

Sin comentarios