Самый простой (и, вероятно, самый надежный) способ обойти это - использовать базу данных.Например, вы можете создать триггер, который устанавливает номер строки при каждом внесении платежа.Таким образом, данные остаются согласованными, даже если вы используете другие способы ввода платежей в эту таблицу.
Однако, если вам не разрешено изменять схему, следующим наилучшим способом, вероятно, будет группировкаплатежи, которые вы собираетесь вставить, на order_fk
, а затем увеличивайте их соответствующим образом, прежде чем пытаться выполнить вставку.Вы должны иметь возможность использовать область транзакций для обеспечения атомарности, но если вы будете делать это очень часто, это немного замедлит процесс.