0

我在这段代码中有错误,无法弄清楚我哪里出错了:

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 服务器版本相对应的手册,以在第 4 行的 '' 附近使用正确的语法

请帮忙!

4

1 回答 1

0

您是否指定了替代方法DELIMITER,以便 MySQL 知道您的过程不会在它遇到的第一个分号处结束(在第 4 行)?

DELIMITER ;; -- or anything you like

CREATE PROCEDURE ... ;;

DELIMITER ; -- back to normal again
于 2012-04-24T06:39:26.680 回答