我有一个已知数据库名称的列表,我想应用相同的sql命令。简单到:使用我的数据库;插入表(列)值('值');我想使用for循环或某种类型来替换“使用我的\数据库”部分。我在google上搜索过,但大多数答案都是关于“遍历所有数据库”,而不是已知数据库的一部分。请告知。
x8diyxa71#
你其实不需要使用 use database 命令与特定架构交互。可以在插入查询中为表名添加前缀: insert into schema_name.table_name (col) values ('value'); 将产生相同的最终结果。如果您只处理mysql,那么您正在尝试的操作可能会有点麻烦,尽管您可以使用存储过程循环处理所有所需的模式/表组合(尽管如果这只是一次操作,可能会有点过火)如果您是从具有写权限的应用程序与mysql交互,则可以:使用架构名称生成和数组具体细节取决于语言,但例如使用php,您可以执行以下操作: $schemas = array('schema_one', 'schema_two', 'schema_three'); 遍历架构数组同样,在php中,您可以使用 foreach 例如:
use database
insert into schema_name.table_name (col) values ('value');
$schemas = array('schema_one', 'schema_two', 'schema_three');
foreach
foreach($schemas as $s) { $stmt = "insert into ".$s.".table_name (col) values('".$value."')"; // Here, you'd actually run $stmt against MySQL to run the insert. }
这是一个非常粗略的例子,我使用php是因为我花了99%的时间编写代码,但你可以使用任何其他编程语言来实现同样的事情
1条答案
按热度按时间x8diyxa71#
你其实不需要使用
use database
命令与特定架构交互。可以在插入查询中为表名添加前缀:insert into schema_name.table_name (col) values ('value');
将产生相同的最终结果。如果您只处理mysql,那么您正在尝试的操作可能会有点麻烦,尽管您可以使用存储过程循环处理所有所需的模式/表组合(尽管如果这只是一次操作,可能会有点过火)
如果您是从具有写权限的应用程序与mysql交互,则可以:
使用架构名称生成和数组
具体细节取决于语言,但例如使用php,您可以执行以下操作:
$schemas = array('schema_one', 'schema_two', 'schema_three');
遍历架构数组同样,在php中,您可以使用
foreach
例如:这是一个非常粗略的例子,我使用php是因为我花了99%的时间编写代码,但你可以使用任何其他编程语言来实现同样的事情