У меня есть таблица с баллами(points).
Как сделать так, чтобы пока один снимает/пополняет баллы, другой человек не мог делать того же самого?
Пример: есть баллы-А(points) и баллы-B(tiles)
Их можно друг в друга конвертировать. Обе таблицы ограничены в количестве (max points = 100, max tiles = 50000) по всей бд.
Как сделать так, чтобы пока один конвертирует tiles в points никто не мог этого делать (чтобы не получилось так, что оба обменивают points и их неожиданно не стало -10)?
If you use tables from more than one transaction-safe storage engine (such as InnoDB), and the transaction isolation level is not SERIALIZABLE, it is possible that when one transaction commits, another ongoing transaction that uses the same tables will see only some of the changes made by the first transaction. That is, the atomicity of transactions is not guaranteed with mixed engines and inconsistencies can result.