У меня есть следующий подготовленный оператор, который я пытаюсь создать для своей корзины покупок, но он не будет выполняться правильно. В нем сообщается о следующей ошибке, и я не знаю, как ее исправить:SQL IF ELSE Заявление не выполняется
# 1064 - У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '; END $$ 'в строке 25
Насколько я знаю, синтаксис оператора IF правильный, но он просто не работает.
DELIMITER $$
CREATE PROCEDURE shopping_cart_add_product(IN inCartId CHAR(32),
IN inProductId INT, IN inAttributes VARCHAR(1000))
BEGIN
DECLARE productQuantity INT;
SELECT quantity
FROM shopping_cart
WHERE cart_id = inCartId
AND product_id = inProductId
AND attributes = inAttributes
INTO productQuantity;
IF productQuantity IS NULL THEN
INSERT INTO shopping_cart(cart_id, product_id, attributes,
productQuantityuantity, added_on)
VALUES (inCartId, inProductId, inAttributes, 1, NOW());
ELSE
UPDATE shopping_cart
SET quantity = quantity + 1, buy_now = true
WHERE cart_id = inCartId
AND product_id = inProductId
AND attributes = inAttributes;
ENDIF;
END $$
Bingo !! Я не могу поверить, что я пропустил это, я думал, что пробовал каждую вариацию этих двух последних строк. благодаря – useyourillusiontoo