我們有一個系統,每個部門都有一個數據庫,目前我們有20多個部門。在不同的數據庫上運行MySQL查詢
所以當我們必須更新/刪除/更改/新表時,我們必須拋出所有這些數據庫並運行查詢。
某些時候人們不遵循程序(總是?),並且我們最終沒有更新結構。
我正在尋找一種方法來在所有數據庫上吃同樣的查詢,而不必使用bash或外部腳本。
所以這裏是一些我找到的東西:
CALL FOR EACH("SELECT databases WHERE `DATABASE` LIKE 'division_%'" , ${1});
在那裏我可以在$輸入查詢{1}
或本(少動):
call $('{a, b}' , 'ALTER TABLE division_${1}.caching ADD COLUMN notes VARCHAR(4096) CHARSET utf8'');
但這給了我「沒有數據庫選中」
關於如何處理這種情況的任何想法?
不是一個有用的響應這裏,但實際上這應該是相同的數據庫,如果它們是同一系統的一部分。 稍微有用的迴應,如果你看準備好的語句,他們可能會幫助你(http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html) –
@ Simonatmso.net我同意......我們從另一家公司獲得了這個漂亮的項目......無論如何它有優點和缺點(很多條目650k + /表格)..我很快發佈了一個解決方案。 – Tarek