Приветики. Есть одна процедура
CREATE DEFINER = `root`@`localhost` PROCEDURE `Add_Item_to_Inventory` ( IN `c_id` INT( 11 ) , IN `i_id` INT( 11 ) ) NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER
BEGIN
SELECT @u_id := user_id, @num := max_item, @curr := curr_item
FROM chars
WHERE char_id = c_id;
IF @curr < @num THEN
INSERT INTO inventory( char_id, user_id, item_id )
VALUES (
c_id, u_id, i_id
);
UPDATE chars SET curr_item = curr_item +1 WHERE char_id = c_id;
END IF ;
END
По идее, она принимает два значения, это id персонажа и id предмета, потом мы получаем максимальное возможное количество предметов которое может быть у персонажа и текущее количество предметов. Если текущее значение меньше максимального, то в таблицу inventory мы добавляем запись в формате ID персонажа, ID пользователя, ID предмета, и увеличиваем на 1 текущее число предметов.
Но при попытке выполнить данную процедуру, в качестве результата вылазиит результат работы SELECT'a и все, в табличку inventory ничего не добавляется, и вообще, ничего больше не делается.
Скажите, плиз, в чем может быть проблема??