Читается ли после обновления, а затем необходима проверка обновленных данных при работе с SQLite через PHP или Android? - PullRequest
1 голос
/ 16 апреля 2019

Читается ли после обновления, а затем необходима проверка обновленных данных при работе с SQLite через PHP или Android?

Например,
Если следующий код возвращает значение ИСТИНА, означает ли это, что все в порядке и не требуется проверка с помощью считанных данных и сравнения с исходными данными?

public function updateRecord($C_ID,$C_Data) 
{
    try 
    {
        $sql = "UPDATE C "
        . "SET C_Data = :C_Data "
        . "WHERE C_ID = :C_ID";

        $stmt = $this->pdo->prepare($sql);

        $stmt->bindValue(':C_ID', $C_ID);
        $stmt->bindValue(':C_Data', $C_Data);

        $stmt->execute();
        return TRUE;
   } 
   catch (\PDOException $e) 
   {
       return FALSE;
   }
}

1 Ответ

1 голос
/ 16 апреля 2019

SQLite гарантирует ACID принципы, из которых A равно Атомность , а C равно Согласованность .

Атомность относится к идее, что запись либо полностью завершается неудачей и откатывается, либо полностью преуспевает в изменении состояния базы данных (дБ).

Согласованность относится к идее, что до тех пор, пока вы будете следовать принципам транзакционной записи в БД, она гарантированно будет записана (до тех пор, пока операция вернет успех) таким образом, что она будет поддерживать базу данных " состояние ", т. е. все определенные вами отношения выполняются.

Из официальной документации - SQLite реализует сериализуемые транзакции которые являются атомными, последовательными, изолированными и долговечными, даже если транзакция прерывается сбоем программы, сбой операционной системы или сбой питания компьютера.

Конечно, вы можете в конечном итоге писать транзакции неправильно, поэтому вам следует реализовать тестовые случаи и обрабатывать исключения для ваших записей в БД, поскольку данные Согласованность не гарантирует данные Корректность .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...