2012-04-24 16 views
0

をCREATE:私は私が間違っているつもりどこ把握することはできません。このコードのエラーを持っているPROCEDUREエラー

CREATE DEFINER=`condoleu`@`%` PROCEDURE `sp_user_field_content_mgt`(FieldContentId varchar(50), FieldRef varchar(50),UserRefId varchar(50), description text,photoUpload varchar(50), photoText varchar(50), MusicText varchar(50), MusicUpload varchar(50), VideoText varchar(50), VideoUpload varchar(50), DispText enum('Y','N'), Flag int(1)) 
BEGIN 
IF Flag=0 THEN 
INSERT INTO tbl_contribution_master(field_content_id,field_ref_id,user_ref_id,description,uploaded_photo,photo_text,uploaded_music,music_text,uploaded_video,video_text,disp_text)  VALUES(FieldContentId,FieldRef,UserRefId,description,photoUpload,photoText,MusicUpload,MusicText,VideoUpload,VideoText,DispText); 
ELSE 
UPDATE tbl_contribution_master SET 
description = description, 
uploaded_photo = photoUpload, 
photo_text = photoText, 
uploaded_music = MusicUpload, 
music_text = MusicText, 
uploaded_video = VideoUpload, 
video_text = VideoText, 
disp_text = DispText 
WHERE field_content_id = FieldContentId; 
END IF; 
END 

エラーです:#1064 - あなたはあなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文を "at line 4"の近くで使用してください。

助けてください!

+0

は(まだ)あなたのエラーの原因を見つけることはできませんが、脇として、なぜあなたは[ 'REPLACE']は使用しないでください/en/replace.html)または['INSERT ... ON DUPLICATE KEY UPDATE'](http://dev.mysql.com/doc/refman/5.6/en/insert-on-duplicate.html)? – eggyal

答えて

0

あなたはspecified an alternative DELIMITERでしたか?MySQLはあなたの手続きが最初のセミコロン(4行目)で終了しないことを知っていますか? http://dev.mysql.com/doc/refman/5.6(

DELIMITER ;; -- or anything you like 

CREATE PROCEDURE ... ;; 

DELIMITER ; -- back to normal again 
+0

が変更されました..役に立たないです。 – 7HUND3RX

関連する問題