Почему моя процедура не работает в MySql
помогите пожалуйста Никак не могу понять почему же моя процедура не работает
DELIMITER $$
ALTER
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `laraproject`.`BusketAdd`(id_product INT,id_user INT)
BEGIN
DECLARE result VARCHAR(50);
IF SELECT COUNT(*) FROM buskets WHERE product_id = id_product >0 THEN
SET result =(SELECT 'Товар уже добавлен в корзину');
ELSE
INSERT INTO buskets(product_id, user_id) VALUES(id_product,id_user);
SET result = (SELECT 'Товар добавлен в корзину');
END IF;
END$$
DELIMITER ;
Ответы (1 шт):
Автор решения: dtroyan
→ Ссылка
Попробуйте так:
DELIMITER $$
ALTER
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `laraproject`.`BusketAdd`(id_product INT,id_user INT)
BEGIN
DECLARE result VARCHAR(50);
DECLARE c INT DEFAULT 0;
SELECT COUNT(*) INTO c FROM buskets WHERE product_id = id_product
IF c > 0 THEN
SET result = 'Товар уже добавлен в корзину';
ELSE
INSERT INTO buskets(product_id, user_id) VALUES(id_product,id_user);
SET result = 'Товар уже добавлен в корзину';
END IF;
END$$
DELIMITER ;