首页 > 解决方案 > 从一个表中选择数据库并将特定值插入返回的数据库中

问题描述

我有一个独特的情况,我有一个包含所有数据库的表。我想在我的 db1 数据库中从查询返回的所有数据库中动态插入一些东西。

SELECT db FROM db1.databases

如果我直接在 Mysql Workbench 中运行上面的查询,我会得到数据库列表,但下面是我想要实现的目标是这样的:

INSERT INTO (SELECT db FROM db1.databases) AS `db`.`events`
(`date`,`description`)
VALUES ('2019--01-01','New Year');

我在每个数据库中都有“事件”表,现在我手动粘贴数据库名称而不是“db”,但由于有数十个数据库,所以需要时间。我搜索了 Stackoverflow,但只找到了类似以下的查询,因为只有两个数据库,我不想将一个表插入另一个表。

INSERT INTO newDatabase.table1 (Column1, Column2) 
SELECT column1, column2 FROM oldDatabase.table1;

或者,如果有任何存储过程循环?我不擅长存储过程。

标签: mysqlmysql-workbench

解决方案


推荐阅读