Ответы пользователя по тегу SQLite
  • SQLite — работа с text (varchar)?

    Mithgol
    @Mithgol
    Для конкатенации (состыковывания) текстовых строк в языке SQLite служит не плюс, а оператор «||», согласно документации по операторам.
    Ответ написан
    Комментировать
  • Ошибка sqlite3 в php?

    Mithgol
    @Mithgol
    По адресу http://www.php.net/manual/en/pdo.begintransaction.php в комментариях 11 апреля 2009 года один субьект рекомендовал в таких случаях сперва создавать подготовленные выражения (что ещё не требует открытия доступа к базе), затем вызывать beginTransaction(), а весь кусок кода обернуть в trycatch внутри while(…){…} и так ловить заблокированность базы:

    <?php
    $conn = new PDO('sqlite:C:\path\to\file.sqlite');
    $stmt = $conn->prepare('INSERT INTO my_table(my_id, my_value) VALUES(?, ?)');
    $waiting = true; // Set a loop condition to test for
    while($waiting) {
        try {
            $conn->beginTransaction();
            for($i=0; $i < 10; $i++) {
                $stmt->bindValue(1, $i, PDO::PARAM_INT);
                $stmt->bindValue(2, 'TEST', PDO::PARAM_STR);
                $stmt->execute();
                sleep(1);
            }
            $conn->commit();
            $waiting = false;
        } catch(PDOException $e) {
            if(stripos($e->getMessage(), 'DATABASE IS LOCKED') !== false) {
                // This should be specific to SQLite, sleep for 0.25 seconds
                // and try again.  We do have to commit the open transaction first though
                $conn->commit();
                usleep(250000);
            } else {
                $conn->rollBack();
                throw $e;
            }
        }
    }
    ?>
    
    Ответ написан
    Комментировать
  • AUTOINCREMENT в SQLite3

    Mithgol
    @Mithgol
    Вообще для изучания того синтаксиса SQL, который в SQLite применяется, надо http://sqlite.org/lang.html читать.

    В частности, по адресу http://sqlite.org/lang_createtable.html можно видеть диаграмму «column-constraint», согласно которой AUTOINCREMENT является модификатором при PRIMARY KEY.
    Ответ написан
    Комментировать