Heim  >  Artikel  >  Datenbank  >  So tauschen Sie zwei Tabellennamen in MySQL_MySQL aus

So tauschen Sie zwei Tabellennamen in MySQL_MySQL aus

WBOY
WBOYOriginal
2016-09-09 08:13:431047Durchsuche

Vorwort

Ich bin in der vorherigen Übung auf ein Problem gestoßen, das dem von pt-osc ähnelt. Wie können wir sicherstellen, dass alles narrensicher ist?

Analyse

Manche Leute denken vielleicht, dass es nicht einfach ist, die Tabellennamen einfach umzubenennen.

Wir möchten jedoch gleichzeitig den Tabellennamenaustausch durchführen. Wenn die Tabellennamen nacheinander ausgetauscht werden, kann es sein, dass das Schreiben einiger Daten fehlschlägt.

Lösung

Tatsächlich ist es nicht schwierig, die Methode aus dem MySQL-Handbuch zu finden, das heißt: Zwei Tabellen gleichzeitig sperren, kein Schreiben zulassen und dann die Tabellennamen austauschen .

Normalerweise sperren wir nur einen Tisch. Was sollten wir also tun, um zwei Tische gleichzeitig zu sperren? Sie können die folgende Methode verwenden:

LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 RENAME TO t3;
ALTER TABLE t2 RENAME TO t1;
ALTER TABLE t3 RENAME TO t2;
UNLOCK TABLES;

Sehen Sie, es ist eigentlich ganz einfach, Schreibsperren auf Tabellenebene gleichzeitig zu beiden Tabellen hinzuzufügen und sie dann mit der ALTER-Syntax umzubenennen.

Oben geht es darum, wie man die beiden Tabellennamen in MySQL austauscht. Ich hoffe, dass dieser Artikel für alle bei der Verwendung von MySQL hilfreich ist.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn