我正在使用MySQL:5.1.69使用轉義數據庫名稱調用MySQL存儲過程
我創建了存儲過程並多次調用它們。在這種情況下,我似乎遇到了與模式名稱中的轉義字符有關的障礙。
我們的MySQL數據庫/模式被命名爲這樣:www.company.com
由於這一點,我們必須始終逃脫數據庫名是這樣的:`www.company.com`.table_name
我已經MySQLWorkbench中創建從一個過程
CREATE PROCEDURE usp_backfill_data
(p_var1 INT(11)
,p_var2 DATETIME)
BEGIN
/*do lots of work here*/
END
並且從MySQL Workbench中我可以調用以下程序:
use `www.company.com`;
CALL usp_backfill_data(5000, '2012-01-01');
在這些情況下,該過程完全按預期工作。
然而,當我嘗試從命令行調用過程:
%> mysql -uuser -ppassword -Dwww.company.com -e "CALL usp_backfill_data(5000, '2012-01-01');"
或當我嘗試
%> mysql -uuser -ppassword -e "CALL \`www.company.com\`.usp_backfill_data(5000, '2012-01-01');"
或當我登錄到mysql命令行及用途:
mysql> use `www.company.com`;
mysql> CALL usp_backfill_data(5000, '2012-01-01');
我總是得到以下錯誤或:
ERROR 1305 (42000) at line 1: PROCEDURE www.company.com.usp_backfill_data does not exist
我希望有一些超級明顯的東西,我在這裏俯瞰。
非常感謝您的寶貴時間
你從'show procedure status'中得到了什麼? – ethrbunny