Вы можете выполнить свой запрос в очереди, это не приведет к замораживанию базы данных.
, если во время транзакции произойдет сбой. FMDB Обеспечивает функцию отката.Посмотрите на пример кода.
sharedInstance.databese.dbQueue.inTransaction { db, rollback in
idArray.forEach {id in
do {
let resultSet:FMResultSet! = try db.executeQuery("DELETE FROM Info WHERE Id = ?", withArgumentsIn: Id)
//Do whatever with your resultSet
} catch {
//Error occured during deleting from database.
rollback.pointee = true
}
}
}