составить запрос не разобрася, вот поэтому и обратился)))
$mysqli->autocommit(FALSE);
$mysqli->begin_transaction(MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT);
$moneySpent = 100;
$mysqli->query("UPDATE users_statistics SET money_spent_ad = money+spent_ad + $moneySpent WHERE id_user = 1");
$moneyNow = $mysqli->query("SELECT money FROM users_statistics WHERE id_user = 1 LIMIT 1");
$points = ((int)$moneyNow - ($moneyNow - $moneySpent)) * 0.5;
$mysqli->query("INSERT INTO contest_points (points, id_user) VALUES ($points, 1) ON DUPLICATE KEY UPDATE points = points + $points");
$mysqli->commit();
даже прочитав WITH CONSISTENT SNAPSHOT и The READ WRITE and READ ONLY modifiers я не совсем понимаю что лучше юзать.
думаю надо MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT но хз, может кто нибудь раскрыть разницу между ними, и что применить в моей ситуации ? прочитав это https://toster.ru/q/663049
А где анализ, что транзакция вообще прошла, а не откатилась?
Обсуждают сегодня