
Kapitel 5: MySQL-Datenbankadministration 221
FAST und CHANGED sind in erster Linie f¨ur die Benutzung durch ein Skript vorgesehen (zum
Beispiel f¨ur die Ausf¨uhrung durch cron), wenn Sie Ihre Tabellen von Zeit zu Zeit pr¨ufen
wollen. F¨ur die meisten Anwendungsf¨alle sollte man FAST vor CHANGED bevorzugen. (Der
einzige Fall, wo das nicht so ist, ist, wenn Sie vermuten, einen Bug im MyISAM-Code gefunden
zu haben.)
EXTENDED ist nur f¨ur den Fall vorgesehen, dass Sie eine normale Pr¨ufung haben durch-
laufen lassen, aber immer noch seltsame Fehler von einer Tabelle erhalten, wenn MySQL
versucht, eine Zeile zu aktualisieren oder eine Zeile ¨uber einen Schl¨ussel zu finden (das ist
sehr unwahrscheinlich, wenn eine normale Pr¨ufung durchgelaufen ist!).
Es wurde berichtet, dass bei der Tabellenpr¨ufung einige Dinge nicht automatisch korrigiert
werden k¨onnen:
• Found row where the auto_increment column has the value 0.
Das bedeutet, dass es in der Tabelle eine Zeile gibt, in der die auto_increment-
Index-Spalte den Wert 0 enth¨alt. (Es ist m¨oglich, eine Zeile zu erzeugen, in der die
auto increment-Spalte 0 ist, indem man die Spalte explizit mit einem UPDATE-Statement
auf 0 setzt.)
Das ist f¨ur sich genommen kein Fehler, kann aber Probleme verursachen, wenn Sie
die Tabelle dumpen und dann wiederherstellen, oder ein ALTER TABLE auf die Tabelle
machen. In diesen F¨allen ¨andert sich der Wert der auto increment-Spalte gem¨aß den
Regeln f¨ur auto increment-Spalten, was Probleme wie doppelte Schl¨usseleintragsfehler
bringen k¨onnte.
Um diese Warnmeldung loszuwerden, f¨uhren Sie einfach ein UPDATE-Statement durch
und setzen die Spalte auf irgend einen anderen Wert als 0.
5.4.5 REPAIR TABLE-Syntax
REPAIR TABLE tabelle[,tabelle...] [QUICK] [EXTENDED]
REPAIR TABLE funktioniert nur bei MyISAM-Tabellen und ist dasselbe, wie myisamchk -r
tabelle auf die Tabelle auszuf¨uhren.
Normalerweise sollten sie diesen Befehl nie ausf¨uhren m¨ussen, aber wenn ein Ungl¨uck
passiert, ist es sehr wahrscheinlich, dass Sie alle Daten einer MyISAM-Tabelle mit REPAIR
TABLE retten k¨onnen. Wenn Ihre Tabellen h¨aufig besch¨adigt werden, sollten Sie versuchen,
den Grund hierf¨ur herauszufinden! Siehe Abschnitt A.4.1 [Crashing], Seite 635. Siehe
Abschnitt 8.1.3 [MyISAM table problems], Seite 488.
REPAIR TABLE repariert eine m¨oglicherweise besch¨adigte Tabelle. Der Befehl gibt eine
Tabelle mit folgenden Spalten zur¨uck:
Spalte Wert
Table Tabellenname
Op Immer “repair”
Msg type status, error, info oder warning.
Msg text Die Meldung.
Beachten Sie, dass Sie viele Zeilen an Informationen f¨ur jede reparierte Tabelle erhalten.
Die letzte Zeile enth¨alt den Msg_type status und sollte normalerweise OK sein. Wenn Sie
nicht OK erhalten, sollten Sie versuchen, die Tabelle mit myisamchk -o zu reparieren, weil
Komentarze do niniejszej Instrukcji