2012-06-11 23 views
6

phpmyadmin kullanarak mysql veritabanında kullanıcı tanımlı işlevler listesini nasıl görüntüleyebilirim.mysql phpmyadmin içindeki kullanıcı tanımlı işlevlerin listesi

Mysql veritabanı bir sunucudan başka bir sunucuya geçirildi ve kullanıcı tanımlı özel işlevler çalışmıyor. Veritabanında bulunup bulunmadığını kontrol etmek için kullanıcı tanımlı fonksiyonun listesini görmem gerekiyor.

Fatal error: db::execute() Could not execute: FUNCTION database.xxx does not exist (SQL: SELECT Function(field) FROM users in file.php on line xx 
+0

MySQL'in hangi sürümünü kullanıyorsunuz? 5.1'den itibaren, belgeler information_schema.routines tablosunun kullanıcı tanımlı işlevleri içermediğini söylüyor. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html Kafam karıştı. – octopusgrabbus

cevap

19

Aşağıdaki MySQL sorgusu kullanıcı tanımlı yordamları listeler.

select * from information_schema.routines; 
+0

5.1 Dokümanlar, bunun tersini söylüyor. Kafam karıştı. http://dev.mysql.com/doc/refman/5.1/en/routines-table.html – octopusgrabbus

+0

Bu, "kullanıcı tanımlı işlevler" in tanımıdır, şu anlama gelir: SQL'de bildirilen depolanmış prodlar var, UDF'ler bir harici motor (derlenmiş formda MySQL eklentisi) değildir. –

+0

Netleştirdiğiniz için teşekkür ederiz. Kafam karışmıştı. – octopusgrabbus

0

özel işlevleri/prosedürleri hakkında tüm bilgileri verecektir Yani:

select specific_name, definer from information_schema.routines where definer not like '%mysql%'; 

yardımcı olur umut!

İlgili konular