我在托管的mysql v-5.1中执行此proc时遇到问题。我找不到问题或错误。请帮帮我。
DROP PROCEDURE IF EXISTS `fetchTimeLine`;;
CREATE PROCEDURE `fetchTimeLine`(IN `delim` int(10))
BEGIN
PREPARE STMT FROM
" SELECT event_id as event,date,schedule,venue,members,descr,about,
(SELECT src FROM photo WHERE event_id=event LIMIT 0,1) as photo1,
(SELECT src FROM photo WHERE event_id=event LIMIT 1,1) as photo2,
(SELECT src FROM photo WHERE event_id=event LIMIT 2,1) as photo3,
(SELECT scr_shoot FROM videos WHERE event_id=event LIMIT 0,1) as video1,
(SELECT scr_shoot FROM videos WHERE event_id=event LIMIT 1,1) as video2,
(SELECT scr_shoot FROM videos WHERE event_id=event LIMIT 2,1) as video3,
(SELECT src FROM videos WHERE event_id=event LIMIT 0,1) as vsrc1
FROM activities
ORDER BY date desc LIMIT ?,?; ";
SET @START = delim;
SET @LIMIT = 2;
EXECUTE STMT USING @START, @LIMIT;
DEALLOCATE PREPARE STMT;
END;;
错误我得到了:
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近''第4行
答案 0 :(得分:0)
在MySQL中,date
是保留字,而
你在SELECT子句中有它。试试
`date`
代替。
在ORDER BY子句中应用相同的更改。