On Sat, 21 Jan 2017 11:54:57 +0100, Cecil Westerhof
<cldwester...@gmail.com> wrote:

>I have the following (work in progress) table:
>CREATE  TABLE desktops(
>    name        TEXT    NOT NULL PRIMARY KEY,
>    indexNo     INTEGER NOT NULL UNIQUE,
>    value       TEXT    NOT NULL UNIQUE,
>    waitSeconds INTEGER NOT NULL
>);
>
>?I want to insert a record in front of? the others, so indexNo has to be
>increased with one for all records. I would think that this would work:
>UPDATE desktops
>SET indexNo = indexNo  + 1
>
>But it does not, it gives:
>Error: UNIQUE constraint failed: desktops.indexNo
>
>?How can I make this work?

Considering there is no constraint on indexNo with respect to
negative or zero values, I would suggest:

INSERT INTO desktops (name,indexNo,value,waitSeconds) 
VALUES ('thename',(SELECT min(indexNo) FROM desktops) - 1,
'thevalue',thewaitseconds);

-- 
Regards,

Kees Nuyt

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to