Wenn Sie die MyISAM
-Speicher-Engine
verwenden, benutzt MySQL eine extrem schnelle Tabellensperrung,
die mehrere lesende Benutzer oder einen schreibenden Benutzer
gestattet. Das größte Problem bei dieser Speicher-Engine tritt
auf, wenn ein konstanter Strom von gemischten Änderungs- und
langsamen Auswahlanweisungen für eine einzelne Tabelle
vorhanden ist. Wenn dies bei bestimmten Tabellen ein Problem
darstellt, können Sie für diese eine andere Speicher-Engine
verwenden. Siehe auch Kapitel 14, Speicher-Engines und Tabellentypen.
MySQL kann sowohl mit transaktionssicheren als auch mit
nichttransaktionssicheren Tabellen arbeiten. Um die reibungslose
Arbeit mit nichttransaktionssicheren Tabellen (also Tabellen,
für die im Fehlerfall kein Rollback durchgeführt werden kann)
zu erleichtern, unterstützt MySQL die folgenden Regeln.
Beachten Sie, dass diese Regeln nur dann
gültig sind, wenn MySQL nicht im strikten SQL-Modus ausgeführt
wird oder Sie IGNORE
für
INSERT
- oder
UPDATE
-Anweisungen angegeben haben.
Für alle Spalten gibt es Vorgabewerte.
Wenn Sie einen unpassenden oder ungültigen Wert in eine Spalte eingeben, setzt MySQL diesen automatisch auf den „bestmöglichen“ Wert, statt einen Fehler zu melden. Bei numerischen Werten ist dies entweder 0 oder der kleinst- oder größtmögliche Wert. Bei Strings wird entweder der Leer-String oder der Bestandteil des Strings benutzt, der noch in der Spalte gespeichert werden kann.
Alle berechneten Ausdrücke geben einen Wert zurück, der
verwendet werden kann, statt eine Fehlerbedingung
auszugeben. So gibt etwa 1 ÷ 0 NULL
zurück.
Um obiges Verhalten zu ändern, können Sie eine striktere
Datenverarbeitung aktivieren, indem Sie den SQL-Modus auf dem
Server entsprechend ändern. Weitere Informationen zum Umgang
mit Daten finden Sie in Abschnitt 1.9.6, „Wie MySQL mit Constraints umgeht“,
Abschnitt 5.2.5, „Der SQL-Modus des Servers“, und Abschnitt 13.2.4, „INSERT
“.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.