Re: [sqlite] Help request for a query...

2012-02-20 Thread Igor Tandetnik
Igor Tandetnik wrote: > Roger Andersson wrote: >> This seems to work but I do not fully understand why ;-) >> sqlite> .header on >> sqlite> CREATE TABLE IF NOT EXISTS History (Path TEXT UNIQUE NOT NULL, >> Hits INTEGER); >> sqlite> insert or replace into History (Path, Hits) VALUES ('c:\', >> (se

Re: [sqlite] Help request for a query...

2012-02-19 Thread Roger Andersson
On 02/19/12 23:04, Igor Tandetnik wrote: The same can be achieved in a less convoluted manner: insert or replace into History (Path, Hits) VALUES ('c:\', (select ifnull(Hits, 0) + 1 from History where path='c:\')); Thanks Igor! -- Roger ___ sqlite-

Re: [sqlite] Help request for a query...

2012-02-19 Thread Igor Tandetnik
Roger Andersson wrote: > This seems to work but I do not fully understand why ;-) > sqlite> .header on > sqlite> CREATE TABLE IF NOT EXISTS History (Path TEXT UNIQUE NOT NULL, > Hits INTEGER); > sqlite> insert or replace into History (Path, Hits) VALUES ('c:\', > (select count(*)+ifnull(Hits,1) fr

Re: [sqlite] Help request for a query...

2012-02-19 Thread Petite Abeille
On Feb 19, 2012, at 6:16 PM, Roger Andersson wrote: > insert or replace One thing to keep in mind when using "insert or replace" is that this will create an entirely new record each and every single time. Which means the rowid is always going to change. Which makes it a very poor candidate as

Re: [sqlite] Help request for a query...

2012-02-19 Thread Roger Andersson
On 02/19/12 16:59, Jörgen Hägglund wrote: Hi all! I'm not sure if it's my brain melting or what it might be... :-) I have a table defined as: CREATE TABLE IF NOT EXISTS History (Path TEXT UNIQUE NOT NULL, Hits INTEGER DEFAULT 0) Is there any way of making inserting data as follows; - If Path d

Re: [sqlite] Help request for a query...

2012-02-19 Thread Petite Abeille
On Feb 19, 2012, at 4:59 PM, Jörgen Hägglund wrote: > INSERT INTO History VALUES ('c:\', 1) > UPDATE History SET Hits = Hits + 1 WHERE Path = 'c:\' Short of a merge statement, which SQLite lacks, you will indeed need to use two statements. For example, you could turn your first insert stateme

[sqlite] Help request for a query...

2012-02-19 Thread Jörgen Hägglund
Hi all! I'm not sure if it's my brain melting or what it might be... :-) I have a table defined as: CREATE TABLE IF NOT EXISTS History (Path TEXT UNIQUE NOT NULL, Hits INTEGER DEFAULT 0) Is there any way of making inserting data as follows; - If Path does not exist in the table; INSERT INTO His