3

将“SHOW CREATE PROCEDURE foo”管道输入 mysql 结果包括标记为“创建过程”的列中的完整过程定义。然而,

$dbh->selectrow_hashref("SHOW CREATE PROCEDURE foo");

导致 $ref->{'Create Procedure'} 被取消定义,其他列被正确填充。两者都使用相同的凭据在同一台机器上执行。有谁知道为什么?

4

1 回答 1

2

如果您连接的用户无权查看该过程,这就是您将看到的内容。尝试在命令行上使用相同的用户,我猜你会在 Create Procedure 列看到 NULL。

您似乎需要 mysql.proc 上的选择权限才能查看过程主体。

于 2013-02-12T18:53:18.337 回答