$dbh->selectrow_hashref("SHOW CREATE FUNCTION my_func");
возвращаетКак получить определение функции MySQL с помощью Perl DBI?
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 Collation' => 'latin1_swedish_ci', 'collation_connection' => 'cp850_general_ci', 'sql_mode' => '', 'Create Function' => undef, 'Function' => 'my_func' }; – flymike
Убедитесь, что вы используете одного и того же пользователя mysql в сценарии и командной строке с помощью 'select user();' –