【问题标题】:how to retrieve a MySQL function definition with perl DBI?如何使用 perl DBI 检索 MySQL 函数定义?
【发布时间】:2014-02-07 15:14:30
【问题描述】:
$dbh->selectrow_hashref("SHOW CREATE FUNCTION my_func");

返回

0  HASH(0x202fe70)
   'Create Function' => undef
   'Database Collation' => 'latin1_swedish_ci'
   'Function' => 'my_func'
   'character_set_client' => 'cp850'
   'collation_connection' => 'cp850_general_ci'
   'sql_mode' => ''

(缺少函数定义)

相同的代码与 SHOW CREATE VIEW 完美配合,SHOW CREATE FUNCTION 在 MySQL 命令行上使用相同的凭据工作。

我想知道是不是数据类型对于属性来说太大了,所以我尝试在连接上将 LongReadLen 设置为一个非常大的数字,但没有任何区别。

【问题讨论】:

  • use Data::Dumper; print Dumper $dbh->selectrow_hashref("SHOW CREATE FUNCTION my_func");
  • 这仍然不起作用。它产生: $VAR1 = { 'character_set_client' => 'cp850', 'Database Collat​​ion' => 'latin1_swedish_ci', 'collat​​ion_connection' => 'cp850_general_ci', 'sql_mode' => '', 'Create Function' => undef , '函数' => 'my_func' };
  • 通过select user();验证您在脚本和命令行中使用相同的mysql用户

标签: mysql perl dbi


【解决方案1】:

我忘记了 user@localhost 和 user@remote_host 不一样(MySQL 每次都在这个问题上咬我 :-(

奇怪的是 user@remote_host 拥有所需的权限,而 user@localhost 没有(我在共享主机环境中,无权访问数据库 mysql 的权限)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2023-04-10
    • 2012-09-05
    • 2012-10-01
    • 2016-07-25
    • 1970-01-01
    • 2011-12-20
    相关资源
    最近更新 更多