Как я могу получить количество строк, которые были затронуты после транзакции Sqlite, содержащие множество обновлений?Получить количество строк, подсчитанных после транзакции sqlite
Я использую C api.
Как я могу получить количество строк, которые были затронуты после транзакции Sqlite, содержащие множество обновлений?Получить количество строк, подсчитанных после транзакции sqlite
Я использую C api.
sqlite3_changes() functon возвращает только число строк Последнее ОБНОВЛЕНИЕ.
Чтобы получить значение столбца всех операторов в транзакции, вызовите sqlite3_total_changes() до и после транзакции и вычислите разницу.
Звучит очень интересно, но я думаю, что могут возникнуть некоторые проблемы, такие как потоки ** Если отдельный поток вносит изменения в одно соединение с базой данных, а sqlite3_total_changes() работает, возвращаемое значение является непредсказуемым и не имеет смысла. ** Я думаю, В любом случае, я считаю это правильным, потому что я думаю, что лучшего решения нет. Я все равно использовал это для отладки, а не для бизнес-логики. – Jonny
Если у вас было многопоточное общение, разделяющее * то же соединение с базой данных, у вас были бы более серьезные проблемы. Нет проблем, если каждый поток имеет свое собственное соединение. –
Возможно, это dum, но не можете ли вы просто суммировать каждый sqlite3_chances() для каждого запроса? – rcmgleite