在服务器

时间:2016-04-20 16:45:41

标签: mysql sql

我有一个包含许多数据库的SQL服务器,其中大多数都具有相同的结构,但有一些不一样。

我想在其中一个表中搜索属性的特定值,并将该值修改为其他值。我知道如何按数据库执行此操作,但我从未在服务器中的所有数据库中运行查询。

基本上最简单的方法是什么,而不必在每个数据库中逐个运行一组命令?所以总结一下。 :

编辑:我需要帮助的具体是为每个数据库迭代命令的命令,以及只在" tableA"时才运行我需要的任何命令的检查语句。在查询数据库时存在。

for every database in server
assert 'tableA' exists
  if exists
    value 'johnny' in column 'fname' of 'tableA'
         replace 'johnny' with 'sara'
    else
        do nothing

1 个答案:

答案 0 :(得分:0)

经过一番长时间的搜索,我发现没有简单的方法可以做到这一点。正如用户Martin在评论中提到的那样,通过MySQL的唯一可行方法是运行外部脚本来自动完成任务。

基本上我的方法是使用一个数组创建一个php脚本,该数组具有每个数据库的登录信息(即db name,user,pw),然后逐步执行该数组并使用每个数据库的循环执行sql命令。