26

複数のデータベースで実行するスクリプトがあり、複数のデータベースで実行するには、MySqlの「USE」ステートメントを変更するだけです。

スクリプトが実行されている現在のデータベースをフィールドとして出力するselectステートメントが必要です。

例えば:


USE my_db;

SELECT 
  CURRENT_DB, -- this is where to insert the current executing db, i.e. "my_db"
  id, name, blah, blah
FROM my_table

4

3 に答える 3

41

関数を使用しdatabase()ます: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_database

于 2012-04-24T19:14:10.563 に答える
21

DATABASE()を使用する

デフォルト (現在の) データベース名を utf8 文字セットの文字列として返します。デフォルトのデータベースがない場合、DATABASE() は NULL を返します。ストアド ルーチン内では、既定のデータベースは、ルーチンが関連付けられているデータベースであり、呼び出し元のコンテキストで既定であるデータベースと必ずしも同じではありません。

例えば

  mysql> SELECT DATABASE();
于 2012-04-24T19:24:56.937 に答える
13

このスニペットを試してください:

select database();
于 2012-04-24T19:15:24.073 に答える