|
python и sqlite
|
|||
---|---|---|---|
#18+
Здравствуйте. Если в запросе на изменение данных (вставка, обновление записей) в базе использовать конструкцию Код: python 1. 2. 3. 4. 5. 6. 7. 8.
то нужно ли в самих командах вставки и обновления использовать алгоритм “OR ROLLBACK”. То есть так Код: python 1. 2.
При возникновении ошибки изменение не сохранится? Помогите пожалуйста. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2018, 15:23 |
|
python и sqlite
|
|||
---|---|---|---|
#18+
MaratD, думаю не нужно (транзакция должна быть атомарной) также можно сократить команды ROLLBACK и COMMIT до одного слова. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2018, 20:21 |
|
python и sqlite
|
|||
---|---|---|---|
#18+
MaratD, Зависит от того что тебе нужно. В первом примере (с ловлей исключения), у тебя может произойти исключение в любом месте, не обязательно внутри execute(), но и в любой питоньей команде между обращениями к базе. А в во втором примере откат будет происходить только при ошибке вставки/обновления. Но ошибки питоньего скрипта на базе не отразятся. Оба подхода вполне нормальны, но у них разные области. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2018, 21:27 |
|
|
start [/forum/topic.php?fid=54&fpage=4&tid=2008450]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
3ms |
others: | 270ms |
total: | 384ms |
0 / 0 |