我试图在MySQL中创建存储过程,但是它给我一个语法错误
这是我的代码:
创建程序
CREATE PROCEDURE video_series_filter (_categoryID bigint, _mentorID bigint, _difficulty smallint, _searchTerm varchar(750), _start int, _record int)
线投掷错误
IF _searchTerm IS NOT NULL
SET _where = CONCAT("WHERE (s.title LIKE '%"_searchTerm"%' OR s.description LIKE '%"_searchTerm"%') ");
END IF;
不确定为什么它会显示语法错误。有什么建议吗?
答案 0 :(得分:0)
MySQL IF
语句的语法包含强制THEN
关键字。
另外,CONCAT()函数的参数之间需要逗号。
IF _searchTerm IS NOT NULL THEN
SET _where = CONCAT("WHERE (s.title LIKE '%", _searchTerm, "%' OR s.description LIKE '%", _searchTerm, "%') ");
END IF;
答案 1 :(得分:0)
CONCAT(或任何函数)的参数必须用逗号分隔:
CONCAT("WHERE (s.title LIKE '%", _searchTerm, "%' OR s.description LIKE '%", _searchTerm, "%') ");