将“show create procedure foo”导入到mysql结果中,在一个名为“create procedure”的列中包含完整的过程定义。然而,
$dbh->selectRow_hashref(“show create procedure foo”);
导致$ref->{'create procedure'}未定义,其他列已正确填充。
两者都在同一台计算机上以相同的凭据执行。
有人知道为什么吗?
最佳答案
如果您连接的用户没有查看过程的权限,您将看到这一点。尝试在命令行上使用同一个用户,我猜您将看到create procedure列为空。
您似乎需要对mysql.proc使用select权限才能查看过程体。