Задать вопрос

Двойной запрос MySql?

"UPDATE `trading` SET `flag`='1', `price_end`='$price' WHERE `time_end` <= '$time' AND `flag`='0'"

Вопрос, можно ли сделать запрос таким образом чтобы ещё обновить таблицу пользователей, если
1. `price_end` > `price_start` AND `line` = 'up'
2. `price_end` < `price_start` AND `line` = 'down'
И в зависимости от этого обновлять баланс пользователя. Но хотелось бы как-то в одном запросе.
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Astrohas
@Astrohas
Python/Django Developer
лучше сделайте несколько и заверните в транзакцию
Ответ написан
@troodi Автор вопроса
CREATE TRIGGER `update_balance` AFTER UPDATE ON `trading`
FOR EACH ROW BEGIN
	IF (NEW.`line` = 'up' AND NEW.`price_end` > NEW.`price`) THEN
		BEGIN
			UPDATE `clients` SET `balance` = `balance` + NEW.`sum` * 1.85 WHERE `email` = NEW.`user_id`;
		END
	ELSE IF (NEW.`line` = 'down' AND NEW.`price_end` < NEW.`price`) THEN
		BEGIN
			UPDATE `clients` SET `balance` = `balance` + NEW.`sum` * 1.85 WHERE `email` = NEW.`user_id`;
		END
	END
END;


Выдает ошибку, что может быть не так?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

5 строка, это первый UPDATE
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы