将值插入到存在于多个数据库中的表中

Posted

技术标签:

【中文标题】将值插入到存在于多个数据库中的表中【英文标题】:Inserting a value to a table which is present in more than one database 【发布时间】:2015-12-03 07:06:02 【问题描述】:

谁能告诉我如何将一组值插入到不同数据库的表中。

示例:我在 Database1Database2 ....

中有一个名为 TABLE 的表

有没有一种方法可以将值插入到两个数据库中的 TABLE 中。

我试过了

Insert into Database1,Database2.Table(type)values('1');

但它没有用。

感谢您的帮助

【问题讨论】:

为此创建触发器怎么样? 【参考方案1】:

可惜表名、列名等在mysql中不能动态,可以尝试创建动态查询

$databases  = list of dbs;
foreach ($databases as $db)
  $query = "Insert into".$db.".tableName()....."

【讨论】:

我希望它这么简单.. 但问题是数据库列表是动态的.. 我无法判断列表中是否包含一个数据库或 10 个 ..【参考方案2】:

由于您使用的是 php,您可以使用mysqli_select_db(connection,dbname); 来选择不同的数据库。

例如。

    //create a connection
    $conn = mysqli_connect("host","user","password","db_name");

    //list of databases
    $databases = "Your Array of database";

    foreach ($databases as $database)

        // Change database to $database
        mysqli_select_db($conn,$database);

        // Check connection
        if (mysqli_connect_errno())
        
            echo "Failed to connect :" . mysqli_connect_error();
        

        // code for $database eg. - your insert query...
    

【讨论】:

以上是关于将值插入到存在于多个数据库中的表中的主要内容,如果未能解决你的问题,请参考以下文章

如果值不存在,将值插入 MySQL 表?

在 Oracle 中,我可以执行“将值插入或更新到表中”吗

将值插入记录类型表

mysql将值插入表中?

如果 mysql 数据库中的表中不存在,则更新或插入多条记录

我可以在存储过程中使用 if 语句将值插入到表中吗?