я сделал процедуру, перечисленным ниже:MySQL присвоить значение запроса в переменную
delimiter //
CREATE PROCEDURE processPayment(in id int(11), status int(11))
BEGIN
declare msg_a text DEFAULT "Payment was marked as sent";
declare msg_d text DEFAULT "Payment was marked as denied and user balance was updated";
declare msg_w text DEFAULT "Wrong payment status";
declare msg_u text DEFAULT "Wrong payment ID";
declare amount varchar(255) DEFAULT 0;
amount = "SELECT amount FROM payments WHERE id = id";
user_id = "SELECT userid FROM payments WHERE id = id";
IF(SELECT COUNT(*) FROM payments WHERE id = id AND status = status) = 0
THEN
SELECT msg_u;
END IF;
IF(status = 0)
THEN
SELECT msg_w;
END IF;
IF(status = 1)
THEN
UPDATE payments SET status = status WHERE id = id;
SELECT msg_a;
END IF;
IF(status = -1)
THEN
UPDATE payments SET status = status WHERE id = id;
UPDATE balances SET actual = actual+amount WHERE user_id = user;
SELECT msg_d;
END IF;
END
Но когда я пытаюсь добавить его в базу данных я получаю ошибку: Что-то не так в вашем синтаксисе рядом с «=«SELECT количества FROM платежей WHERE id = id "; user_id = «SELECT идентификатор пользователя FROM ра» строка 8 мне нужно присвоить значение запроса в переменную. Как я могу это сделать? Заранее спасибо за любую помощь.
благодарит за помощь! –