我有一個腳本,我在多個數據庫上運行,並在多個數據庫上運行,我只是更改MySql「USE」語句。在MySQL中是否有當前數據庫的變量?
我想要一個選擇語句,輸出腳本正在執行的當前數據庫作爲字段。
例如:
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
我有一個腳本,我在多個數據庫上運行,並在多個數據庫上運行,我只是更改MySql「USE」語句。在MySQL中是否有當前數據庫的變量?
我想要一個選擇語句,輸出腳本正在執行的當前數據庫作爲字段。
例如:
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
有趣的是它在SQLyog中不起作用。我猜它只是在執行之前將數據庫名稱添加到查詢中的每個表名。 – 2012-04-24 19:15:49
@Shedal - 那麼我會說那是一個SQLyog的bug,因爲這是直接從MySQL文檔中記錄下來的函數。 – dcp 2012-04-24 19:17:20
嘗試這個片段:
select database();
使用DATABASE()
以utf8字符集中的字符串形式返回默認(當前)數據庫名稱。如果沒有默認數據庫,則DATABASE()返回NULL。在存儲例程中,默認數據庫是例程所關聯的數據庫,它不一定與調用上下文中默認的數據庫相同。
爲例
mysql> SELECT DATABASE();
什麼是如此艱難,在手冊中,然後再發布看這件事? – 2012-04-24 19:14:49
我的搜索時間超出了我的預期。谷歌和Bing正在挑剔,沒有找到它。可能是因爲我在尋找一個變量而不是數據庫函數。 – thames 2012-04-24 20:12:21
你的第一個地方應該是手冊,而不是谷歌或bing。 – 2012-04-24 20:32:25