0

以下のコードは、コマンド ライン (mysql.exe) を使用して実行すると正しく動作しますが、phpmyadmin で SQL クエリを使用するか、ScriptRunner (Java) を使用して実行すると正しく動作しません。

エラー: Error Syntax execute DELIMITER $$

どうすればこの問題を解決できますか?

-- Procedures
-- 
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `upload_photo`(
IN owner_id int, IN photo_name text, IN photo_url text, IN thumbnail text
)
begin
declare inserted_id int unsigned default 0;
INSERT INTO photo(`owner_id`, `photo_name`, `photo_url`, `thumbnail`) VALUES(owner_id, photo_name, photo_url, thumbnail);
 set inserted_id = last_insert_id();
 select * from photo where photo_id = inserted_id;
end$$

-- 
DELIMITER ;
4

3 に答える 3

0

SQLクライアントを介して実行したときに機能したにもかかわらず、Flywayを介して実行するとDELIMITERステートメントが壊れるという同様の問題に遭遇しました。

IDE でコードをフォーマットすると問題が修正されたため、問題はインデントまたは非表示の特殊文字でした。

于 2016-06-17T20:04:44.407 に答える