PythonQ 240-8XX Bedienungsanleitung Seite 462

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 768
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 461
Kapitel 7: MySQL-Sprachreferenz 441
[INTO] tabelle
SET spalten_name=ausdruck, spalten_name=ausdruck, ...
INSERT f¨ugt neue Zeilen in eine bestehende Tabelle ein. Die INSERT ... VALUES-Form
des Statements f¨ugt Zeilen basierend auf explizit angegebenen Werten ein. Die INSERT
... SELECT-Form f¨ugt Zeilen ein, die aus einer oder mehreren anderen Tabellen ausgew¨ahlt
wurden. Die INSERT ... VALUES-Form mit mehrfachen Wertelisten wird ab MySQL-Version
3.22.5 unterst¨utzt. Die spalten_name=expression-Syntax wird ab MySQL-Version 3.22.10
unterst¨utzt.
tabelle ist die Tabelle, in die Zeilen eingef¨ugt werden sollen. Die Spaltennamenliste oder
die SET-Klausel geben an, f¨ur welche Spalten das Statement Werte angibt:
Wenn Sie keine Spaltenliste f¨ur INSERT ... VALUES oder INSERT ... SELECT angeben,
m¨ussen f¨ur alle Spalten Werte in der VALUES()-Liste oder vom SELECT bereit stehen.
Wenn Sie die Reihenfolge der Tabellenspalten nicht kennen, benutzen Sie DESCRIBE
tabelle, um sie herauszufinden.
Jede Spalte, die nicht explizit in einer Werteliste angegeben wird, wird auf ihren Vor-
gabewert gesetzt. Wenn Sie beispielsweise eine Spaltenliste angeben, die nicht alle
Tabellenspalten nennt, werden unbenannte Spalten auf ihre Vorgabewerte gesetzt.
Die Zuweisung von Vorgabewerten ist in Abschnitt 7.5.3 [CREATE TABLE], Seite 456
beschrieben.
Ein
ausdruck
kann sich auf jede Spalte beziehen, die vorher in einer Werteliste
angegeben wurde. Beispielsweise onnen Sie folgendes eingeben:
mysql> INSERT INTO tabelle (spalte1,spalte2) VALUES(15,spalte1*2);
Aber nicht das hier:
mysql> INSERT INTO tabelle (spalte1,spalte2) VALUES(spalte2*2,15);
Wenn Sie das Schl¨usselwort LOW_PRIORITY angeben, wird die Ausf¨uhrung von INSERT
verz¨ogert, bis kein anderer Client mehr aus der Tabelle liest. In diesem Fall muss
der Client warten, bis das INSERT-Statement fertig ist, was lange Zeit dauern kann,
wenn die Tabelle stark benutzt wird. Das ist im Gegensatz zu INSERT DELAYED, was den
Client sofort weitermachen aßt. Siehe Abschnitt 7.4.4 [INSERT DELAYED], Seite 443.
Beachten Sie, dass LOW_PRIORITY normalerweise nicht bei MyISAM-Tabellen benutzt
werden sollte, weil dadurch gleichzeitige Einf¨ugeoperationen verhindert werden. Siehe
Abschnitt 8.1 [MyISAM], Seite 483.
Wenn Sie das Schl¨usselwort IGNORE in einem INSERT mit vielen Wertezeilen angeben,
werden alle Zeilen, die einen bestehenden PRIMARY- oder UNIQUE-Schl¨ussel duplizieren
w¨urden, ignoriert und nicht eingef¨ugt. Wenn Sie IGNORE nicht angeben, wird die
Einf¨ugeop eration a/jointfilesconvert/293675/bgebrochen, wenn es eine Zeile gibt, die einen b estehenden
Schl¨usselwert duplizieren w¨urde. Mit der C-API-Funktion mysql_info() onnen Sie
feststellen, wie viele Zeilen in die Tabelle eingef¨ugt wurden.
Wenn MySQL mit der DONT_USE_DEFAULT_FIELDS-Option konfiguriert wurde, erzeu-
gen INSERT-Statements einen Fehler, wenn Sie nicht explizit Werte f¨ur alle Spalten
angeben, die einen Nicht-NULL-Wert erfordern. Siehe Abschnitt 3.3.3 [configure-
Optionen], Seite 71.
Seitenansicht 461
1 2 ... 457 458 459 460 461 462 463 464 465 466 467 ... 767 768

Kommentare zu diesen Handbüchern

Keine Kommentare