我们有一个系统,每个部门都有一个数据库,目前我们有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