簡體   English   中英

創建存儲過程時出現MySQL錯誤#1064

[英]MySQL error #1064 while creating stored procedure

這是代碼:

IF(selected_item_id IS NOT NULL AND selected_category IS NOT NULL) THEN

    IF(selected_item_id <> "all") THEN

        SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name' FROM items i, categories c WHERE i.category_id = c.id AND i.id LIKE selected_item_id;

    ELSE IF(selected_item_id = "all" AND selected_category <> "all" AND selected_category in (SELECT name FROM categories)) THEN

        SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name' FROM items i, categories c WHERE i.category_id = c.id AND c.name LIKE selected_category;

    ELSE IF(selected_item_id = "all" AND selected_category = "all") THEN

        SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name' FROM items i, categories c WHERE i.category_id = c.id;

    END IF

END IF

當我嘗試保存它時,我得到:

MySQL說:#1064在第17行的“ END IF”附近(這是最后一個END IF)

非常感謝您的幫助。

您不需要在ELSE和IF之間添加空間。 請參閱了解詳情。 然后以分號結束IF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM