2015-12-02 7 views
2

Как я могу получить количество строк, которые были затронуты после транзакции Sqlite, содержащие множество обновлений?Получить количество строк, подсчитанных после транзакции sqlite

Я использую C api.

+0

Возможно, это dum, но не можете ли вы просто суммировать каждый sqlite3_chances() для каждого запроса? – rcmgleite

ответ

0

sqlite3_changes() functon возвращает только число строк Последнее ОБНОВЛЕНИЕ.

Чтобы получить значение столбца всех операторов в транзакции, вызовите sqlite3_total_changes() до и после транзакции и вычислите разницу.

+0

Звучит очень интересно, но я думаю, что могут возникнуть некоторые проблемы, такие как потоки ** Если отдельный поток вносит изменения в одно соединение с базой данных, а sqlite3_total_changes() работает, возвращаемое значение является непредсказуемым и не имеет смысла. ** Я думаю, В любом случае, я считаю это правильным, потому что я думаю, что лучшего решения нет. Я все равно использовал это для отладки, а не для бизнес-логики. – Jonny

+0

Если у вас было многопоточное общение, разделяющее * то же соединение с базой данных, у вас были бы более серьезные проблемы. Нет проблем, если каждый поток имеет свое собственное соединение. –

Смежные вопросы