Почему моя процедура не работает в 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 ;
→ Ссылка