Определите, активна ли транзакция SQLite3

Ctrl + Сдвиг + O для организации импорта, который отформатирует их приятно, удаляют ненужный импорт и добавляют недостающий импорт.

7
задан MPelletier 13 June 2019 в 00:24
поделиться

3 ответа

Вы можете проверить это:

http://www.sqlite.org/c3ref/get_autocommit.html

Согласно этой странице, если вы находитесь в транзакции, sqlite3_get_autocommit() вернет 0.

13
ответ дан 6 December 2019 в 21:14
поделиться

В SQLite транзакции, созданные с помощью BEGIN TRANSACTION ... END TRANSACTION, не являются вложенными.

Для вложенных транзакций вам необходимо использовать команды SAVEPOINT и RELEASE.

См. http://www.sqlite.org/lang_transaction.html

и http://www.sqlite.org/lang_savepoint.html

-1
ответ дан 6 December 2019 в 21:14
поделиться

Это странно. Я думал, что sqlite всегда был в транзакции, либо явно созданной вами, либо неявно созданной sqlite:

http://www.sqlite.org/lang_transaction.html

Итак, я полагаю, что ошибка означает, что она не в транзакция, которую вы инициировали ... и если это то, что вам нужно знать, кажется, что sqlite может ожидать, что вы будете в курсе. Не очень удобно, конечно, но я полагаю, что это стоимость простого API. = /

0
ответ дан 6 December 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: