ホームページ  >  記事  >  データベース  >  MySQL_MySQL で 2 つのテーブル名を交換する方法

MySQL_MySQL で 2 つのテーブル名を交換する方法

WBOY
WBOYオリジナル
2016-09-09 08:13:431047ブラウズ

はじめに

以前、pt-osc と同様のシナリオで、2 つのテーブル名を確実に交換する必要があるという問題に遭遇しました。

分析

テーブル名をお互いに変更するだけで簡単ではないのではないかと思う人もいるかもしれません。

ただし、テーブル名の交換を同時に完了したいのですが、テーブル名が次々に交換されると、一部のデータの書き込みが失敗する可能性があります。

解決しました

実際、これは MySQL マニュアルにある方法で見つけることができます。つまり、 2 つのテーブルを同時にロックし、書き込みを許可しないで、テーブル名を交換します。

通常は 1 つのテーブルのみをロックしますが、2 つのテーブルを同時にロックするにはどうすればよいですか? 次の方法を使用できます:

リーリー

実際には、テーブルレベルの書き込みロックを両方のテーブルに同時に追加し、ALTER 構文を使用して名前を変更するだけです。


上記は MySQL で 2 つのテーブル名を交換する方法に関するものです。この記事が MySQL を使用するすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。