gpt4 book ai didi

php - 以编程方式更新多个数据库中的相同过程

转载 作者:行者123 更新时间:2023-11-29 17:49:57 26 4
gpt4 key购买 nike

我有带有参数 _DATE、_ID 的过程 MY_OWN_PROC,其主体是:

BEGIN
SELECT h.*
FROM `my` h
WHERE
h.DATE>=_DATE /*comment*/;
END

我在数据库 db1 - db100 中有相同的过程。现在我想立即更新所有数据库中的程序主体(例如,我想替换“h.DATE<_DATE”部分或整个主体)。如何通过 native sql 命令或通过 adminer(我在服务器上使用 adminer)或通过 php 脚本使用 mysql 来完成此操作?

更新:首先我的想法 - 我将为 100 个数据库创建 sql 命令(复制/粘贴),并将这个巨大的命令复制到管理员并运行它。

最佳答案

如果您的数据库用户有权访问所有数据库,则您可以创建 PHP for 循环

$conn = new mysqli ( '172.17.0.3', 'root', 'root', 'test');
for ( $i = 1; $i < 101; $i++ ) {
if ($conn->query("CREATE DEFINER=`root`@`%` PROCEDURE `db$i`.`MY_OWN_PROC`(IN `_DATE` INT)
NO SQL
SELECT h.*
FROM `my` h
WHERE
h.DATE>=_DATE") === false ) {
echo "error:".$conn->error;
}
}

这里的主要内容是 db$i.MY_OWN_PROC 位,它将增量放入数据库名称中。

您当然必须将正确的过程源代码和正确的数据库凭据放入代码中。

关于php - 以编程方式更新多个数据库中的相同过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49462459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com