10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


13.1.32 rename table構文

重命名表tbl_namenew_tbl_name(,tbl_name2new_tbl_name2)……

このステトメントは,1ブルの名前を変更します。

名前変更の操作は原子的に実行されます。まり,名前の変更が実行されている間,ほかのセッションはどのテ,ブルにもアクセスできません。たとえば,既存のテブルold_tableが存在する場合は,次のように,同じ構造を持っているが空である別のテ,ブルnew_tableを作成してから,既存のテブルをその空のテブルに置き換えることができます(backup_tableはまだ存在していないと仮定します)。

创建表new_table(…);重命名表old_table为backup_table, new_table为old_table

このステトメントで複数のテブルの名前を変更する場合,名前の変更操作は左から右に実行されます。2 .のテブル名をスワップする場合は,次のように実行できます(tmp_tableはまだ存在していないと仮定します)。

重命名表old_table为tmp_table, new_table为old_table, tmp_table为new_table

2 .のデタベスが同じファルシステム上に存在するかぎり,重命名表を使用して,あるデタベ。

重命名表current_db.tbl_nameother_db.tbl_name;

重命名表を使用して別のデータベースに移動されたテーブルに関連付けられたトリガーが存在する場合は,ステートメントがエラー在错误的模式中触发で失敗します。

ビュの名前を変更して別のデタベスに移動しようとしないかぎり,重命名表はビュに対しても機能します。

名前変更されたテブルまたはビュ専用に付与された権限は,どれも新しい名前には移行されません。それらは,手動で変更する必要があります。

重命名を実行する場合は,ロックされたテブルやアクティブなトランザクションが存在していてはいけません。また,元のテブルに対する改变および下降権限と,新しいテブルに対する创建および插入権限も必要です。

複数テーブルの名前変更で何らかのエラーが発生した場合,MySQLはすべてをその元の状態に戻すために,名前変更されたすべてのテーブルに対して逆方向の名前変更を実行します。

重命名を使用して临时テブルの名前を変更することはできません。ただし,代わりにALTER TABLEを使用できます。

mysql>修改表名称

この名前変更操作によってテーブルが別のファイルシステム上にあるデータベースに移動される場合,結果の成功はプラットフォーム固有であり,テーブルファイルを移動するために使用されるベースとなるオペレーティングシステムコールに依存します。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb