我正在尝试在 PHPmyadmin 中创建一个存储过程,但它似乎不喜欢我的 IF 语句。谁能帮我确定我做错了什么:
SQL:
CREATE PROCEDURE get_products_in_category(IN inCategoryID INT,
IN inShortDescriptionLength INT, IN inProductsPerPage INT, IN inStartItem INT)
BEGIN
"SELECT p.productID, p.name, IF(LENGTH(p.description) <= ?, p.description,
CONCAT(LEFT(p.description, ?), '...')) AS description, p.price, p.discounted_price,
p.thumbnail FROM tblProducts p
INNER JOIN tblProdCat pc
ON pc.productID = p.productID
WHERE tblProdCat.categoryID = ?
ORDER BY p.display DESC
LIMIT ?, ?";
SET @p1 = inShortDescriptionLength;
SET @p2 = inShortDescriptionLength;
SET @p3 = inCategoryID;
SET @p4 = inStartItem;
SET @p5 = inProductsPerPage;
END$$
我收到以下错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '"SELECT p.productID, p.name, IF(LENGTH(p.description) <= ?, p.description, CONCA' 附近使用正确的语法