Wpis z mikrobloga

Mam prostą bazę danych SQLite:
CREATE TABLE ranking (
idkomputera VARCHAR(20) NOT NULL PRIMARY KEY,
wynik INTEGER NOT NULL
);
INSERT INTO ranking (id
komputera, wynik) VALUES ('AE0000A', 75);
INSERT INTO ranking (id_komputera, wynik) VALUES ('AE0000B', 80);

Otwieram dwa połączenia, w pierwszym połączeniu robię:
BEGIN;
SELECT * FROM ranking;
następnie w drugim:
BEGIN;
SELECT * FROM ranking;
następnie w pierwszym:
UPDATE ranking SET wynik = wynik + 10;
następnie w drugim:
UPDATE ranking SET wynik = wynik - 3;
i dostaję natychmiast odpowiedź "Error: database is locked", nawet gdy limit czasu w konfiguracji jest bardzo wysoki. Dlaczego tak się dzieje? Chciałbym, żeby drugi UPDATE się udał i żebym mógł wysłać COMMIT; w pierwszym połączeniu i później w drugim.

#programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach