Wpis z mikrobloga

Mam taka tabele w sqllite
"Create Table tabela(
textvalue TEXT unique
,count int,
directory int"
Próbuje przetworzyć tekst z dwóch folderów w taki sposób by zapytaniem
"Insert into tabela values(' temp ',1,1) ON CONFLICT(text
value,directory ) DO UPDATE SET count = count+1";
zliczyć liczbę wystąpień poszczególnych słów, problem jest taki ze zależnie z którego folderu pochodzi plik wartość directory ma mieć wartość 0 lub 1, bez tego podziału zapytania działa dobrze jednak gdy dodam "ON CONFLICT" wartość directory dostaje błąd
"ON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint"
Jak sobie z tym poradzić?
Dodam że połączenie folderów nie wchodzi w grę

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

Gdyby ktoś miał kiedyś ten sam problem to okazało się że
The ON CONFLICT clause needs a single unique constraint when we ask it to DO UPDATE
wiec tabela musi wyglądać trochę inaczej
Create Table tabela(
textvalue TEXT ,
count int,type int,
CONSTRAINT col2 UNIQUE (text
value,type));
  • Odpowiedz