11

クエリを使用して MySQL データベース名を変更するにはどうすればよいですか?

renamephpmyadmin 経由でデータベースを試してみたところ、次のエラーが発生しました。

SQL query:

    RENAME DATABASE test TO test_bkp

MySQL said: 

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE test To test_bkp' at line 1
4

9 に答える 9

15

phpmyadmin では、データベースをクリックするだけで、[操作] タブに移動して名前を変更できます。

于 2012-11-30T10:58:35.273 に答える
11

ここでは次のように述べています。

このステートメントは MySQL 5.1.7 で追加されましたが、危険であることが判明したため、MySQL 5.1.23 で削除されました。5.1 より前のデータベースをアップグレードして、5.1 で実装されたエンコーディングを使用してデータベース名をデータベースディレクトリ名にマッピングできるようにすることを目的としていました (セクション9.2.3「識別子のファイル名へのマッピング」を参照)。ただし、このステートメントを使用すると、データベースの内容が失われる可能性があるため、削除されました。RENAME DATABASE が存在する以前のバージョンでは使用しないでください。

すべてのデータを新しいデータベースにインポートしてから、古いデータベースを削除できます。

RENAME TABLE同じ from/to テーブル名を使用してステートメントを使用することもできますが、from/to データベースは異なります。いくつかのキャッチがあります。

CREATE DATABASE `test_bkp`;

RENAME TABLE 
`test`.`table1` TO `test_bkp`.`table1`,
`test`.`table2` TO `test_bkp`.`table2`,
`test`.`table3` TO `test_bkp`.`table3`;
于 2012-11-30T11:00:16.700 に答える
2

開発者によって無効にされています。http://dev.mysql.com/doc/refman/5.1/en/rename-database.htmlを参照してください。

これに加えて、名前を変更するのではなく、コピー (その後削除) を使用します。同じMySqlインスタンスでのMySQLデータベースの複製をご覧ください

于 2012-11-30T10:58:15.057 に答える
0

これは、MySQL<5.1.23で次のように実行できます。

RENAME {DATABASE | SCHEMA} db_name TO new_db_name;

それ以降のバージョンでは、

ALTER{データベース| スキーマ}[db_name]

于 2012-11-30T10:57:52.857 に答える
0

wampサーバーでデータベースをクリックし、ヘッダーメニューからデータベースを選択します操作を選択します新しい名前を付けますデータベースの名前を変更しますが、実際には新しいデータベースを作成しますすべてのデータをコピーしてから古いデータベースを削除します

于 2016-12-22T07:24:02.953 に答える
0

名前の変更オプションが表示されない場合は、phpMyAdmin を使用してデータベースのクローンを作成する簡単な方法を次に示します。

  • コピーしたいデータベースを開く
  • [操作] タブをクリックします。
  • 「データベースのコピー先:」と表示されているところに、新しいデータベースの名前を入力します。「構造とデータ」を選択してすべてをコピーするか、「構造のみ」を選択します。新しいデータベースを作成するには、「コピーする前にデータベースを作成する」ボックスをチェックします。[AUTO_INCREMENT 値を追加] チェックボックスをオンにします。「進む」ボタンをクリックして先に進みます。古いデータベースを削除する前に、パスワードもコピーされていることを確認してください。
于 2014-12-02T06:14:28.187 に答える