2011-01-11 33 views
0

phpmyadmin + mysqlバージョン5.0.77を使用して、次のストアドプロシージャを作成しました。phpmyadminを使用してmysqlプロシージャが作成されない/動作しない

ストアドプロシージャは:

delimiter // 
create procedure myProc() 
begin 
    select name from main_contacts; 
end // 
delimiter; 
Error 

There seems to be an error in your SQL query. 
The MySQL server error output below, 
if there is any, may also help you in diagnosing the problem 

ERROR: 

Unknown Punctuation String @ 11 
STR: // 
SQL: delimiter // 
create procedure myProc() 
begin 
select name from main_contacts 
SQL-query : 

delimiter // create procedure myProc() begin select name from main_contacts 

MySQL said: 


#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'delimiter // 
create procedure myProc() 
begin 
select name from main_contacts' at line 1
+0

どのようなmysqlバージョンを使用しますか? 'SELECT VERSION()' – zerkms

+0

mysqlバージョン5.0.77 – Jos

答えて

2

あなたは区切り文字の後にスペースを与える必要があります。代わりにdelimiterを置き換えます。 delimiter ;またはあなたが試すことができ、

delimiter // 
    create procedure myProc() 
    begin 
     select name from main_contacts; 
    end // 
    delimiter ; 
+0

最後の行を追加するのがトリックです: "delimiter;"その行を省略すると、「Unknown Punctuation String」というエラーが表示されます。私はPHPMyAdmin v4.2.5でこれを持っていました。このバグ(?)に悩まされていないMySQL WorkBenchのような別のクライアントを使うこともできます。 – Jan

+0

PHPMyAdmin v4.2.5を使用した後は、とてもバグだと言えます。私は "エラー"、 "未知の句読点文字列"またはエラーなしのようなエラーを受け取りましたが、私の手続き/関数は保存されませんでした。単にMySQL WorkBenchを使用します。魅力のように動作します。 – Jan

1

での問題は、MySQLクライアントは、delimiterコマンドを好きではないということです。古いバージョンのphpMyAdminを使用している場合は、phpMyAdminで問題が解決されているため、新しいバージョンを使用してください。 MySQLクライアントmysqlを使用することができれば、それもあなたの問題を解決するはずです。

あなたはphpMyAdminの古いバージョンを使用して立ち往生している、とあなたができないか、N番目のデザインのWebサイト上でネイト・スミスからこのアドバイスをチェックアウトし、MySQLを使用しない場合は...

http://blog.nth-design.com/2009/02/25/creating-sp-in-phpmyadmin/

これが役に立ちます。

関連する問題