PythonQ 240-8XX Bedienungsanleitung Seite 513

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 768
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 512
492 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
Sie onnen kein DROP TABLE, ALTER TABLE oder DELETE FROM tabelle ohne eine WHERE-
Klausel auf jeder Tabelle, die von einer MERGE-Tabelle gemappt ist, ausf¨uhren, wenn
diese ’offen’ ist. Wenn Sie das tun, onnte die MERGE-Tabelle immer noch auf die
Originaltabelle verweisen, und Sie w¨urden unerwartete Ergebnisse erhalten.
Wenn Sie eine MERGE-Tabelle erzeugen, m ¨ussen Sie mit UNION(liste-von-tabellen)
angeben, welche Tabellen Sie wie eine b enutzen wollen. Optional onnen Sie mit
INSERT_METHOD angeben, ob Sie wollen, dass Einf¨ugungen in die MERGE-Tabelle in der
ersten oder der letzten Tabelle in der UNION-Liste geschehen sollen. Wenn Sie keine
INSERT_METHOD o der NO angeben, geben alle INSERT-Befehle auf die MERGE-Tabelle einen
Fehler zur¨uck.
Folgendes Beispiel zeigt, wie Sie MERGE-Tabellen benutzen:
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, nachricht CHAR(20));
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY KEY, nachricht CHAR(20));
INSERT INTO t1 (nachricht) VALUES ("test"),("tabelle"),("t1");
INSERT INTO t2 (nachricht) VALUES ("test"),("tabelle"),("t2");
CREATE TABLE gesamt (a INT NOT NULL, nachricht CHAR(20), KEY(a)) TYPE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;
Beachten Sie, dass wir keinen UNIQUE- oder PRIMARY KEY-Schl¨ussel in der gesamt-Tabelle
angegeben haben, weil der Schl¨ussel in der gesamt-Tabelle nicht eindeutig sein wird.
Beachten Sie auch, dass Sie die .MRG-Datei direkt von ausserhalb des MySQL-Servers ma-
nipulieren onnen:
shell> cd /mysql-data-verzeichnis/aktuelle-datenbank
shell> ls -1 t1.MYI t2.MYI > gesamt.MRG
shell> mysqladmin flush-tables
Jetzt onnen Sie Dinge wie folgendes tun:
mysql> select * from gesamt;
+---+-----------+
| a | nachricht |
+---+-----------+
| 1 | test |
| 2 | table |
| 3 | t1 |
| 1 | test |
| 2 | table |
| 3 | t2 |
+---+-----------+
Um eine MERGE-Tabelle neu zu mappen, onnen Sie folgendes tun:
Die Tabelle oschen (DROP) und neu erzeugen.
ALTER TABLE tabelle UNION(...) benutzen.
Die .MRG-Datei ¨andern und ein FLUSH TABLE auf die MERGE-Tabelle und alle zugrunde
liegenden Tabellen ausf¨uhren, um den Handler zu zwingen, die neue Definitionsdatei
einzulesen.
Seitenansicht 512
1 2 ... 508 509 510 511 512 513 514 515 516 517 518 ... 767 768

Kommentare zu diesen Handbüchern

Keine Kommentare