Найти - Пользователи
Полная версия: sqlite, запросы
Начало » Python для новичков » sqlite, запросы
1
MaratD
Здравствуйте.
Если в запросе на изменение данных (вставка, обновление записей) в базе использовать конструкцию
 try:
    c = MainWindow.conn.cursor()
    c.execute('BEGIN EXCLUSIVE TRANSACTION')
    c.execute('UPDATE...') 
    c.execute('INSERT...')
    c.execute('COMMIT TRANSACTION')
except:
    c.execute('ROLLBACK TRANSACTION')
то нужно ли в самих командах вставки и обновления использовать алгоритм “OR ROLLBACK”. То есть так
     c.execute('UPDATE OR ROLLBACK ...')
    c.execute('INSERT OR ROLLBACK ...')
При возникновении ошибки изменение и так не сохранится же. Примеров поясняющих не нашел. Помогите пожалуйста. Спасибо.
spikejke
Почему Вы не используете доступные методы для commit'a и rollback'a ?
  try:
    c = MainWindow.conn.cursor()
    c.execute('BEGIN EXCLUSIVE TRANSACTION')
    c.execute('UPDATE...') 
    c.execute('INSERT...')
    c.commit()
except:
    c.rollback()
MaratD
Здравствуйте.
Просто для меня так более наглядно. Это же не считается ошибкой?
Про эти rollbackи не совсем понятно. Во время явного указания начала транзакции они кажется бесполезны в самих командах.
spikejke
MaratD
Здравствуйте.Просто для меня так более наглядно. Это же не считается ошибкой?Про эти rollbackи не совсем понятно. Во время явного указания начала транзакции они кажется бесполезны в самих командах.
Опишите точно задачу, пожалуйста.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB