В MySQL есть переменная для текущей базы данных?

У меня есть script, который я запускаю в нескольких базах данных и запускаюсь в нескольких базах данных. Я просто изменяю выражение MySql "USE".

Я хочу иметь инструкцию select, которая выводит текущую базу данных, которую выполняет script, как поле.

Например:


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

Ответ 2

используйте БАЗЫ ДАННЫХ()

Возвращает стандартное (текущее) имя базы данных в виде строки в наборе символов utf8. Если база данных по умолчанию отсутствует, DATABASE() возвращает NULL. В рамках хранимой процедуры база данных по умолчанию - это база данных, с которой связана подпрограмма, которая не обязательно совпадает с базой данных, которая по умолчанию используется в вызывающем контексте.

для примера

  mysql> SELECT DATABASE();

Ответ 3

Попробуйте этот фрагмент:

select database();