PY <[EMAIL PROTECTED]> wrote:
> Hi All,
> 
> I have a problem about the ROWID.
> 
> I want to create a table with unique value, not only [id] but also [name],
> and the table named [foo]
>  CREATE TABLE foo (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE);
> 
> I don't want to select the table for avoiding the duplicate NAME problem.
> So, I use the "IGNORE" when I insert into the table.
> 
>  INSERT OR IGNORE INTO foo (name) VALUES ('x');
>  INSERT OR IGNORE INTO foo (name) VALUES ('x');
>  INSERT OR IGNORE INTO foo (name) VALUES ('x');
>  INSERT OR IGNORE INTO foo (name) VALUES ('x');
>  INSERT OR IGNORE INTO foo (name) VALUES ('y');
> 
> After that I found a phenomenon, when I select the table, the result listed
> below.
> 
>  SELECT * FORM foo;
> 
>  id          name
>  ----------  ----------
>  1           x
>  5           y
> 
> 
> 
> My expected value of y is 2 not 5.
> 
> 
> The squence of the id is important to us. How to resolve this problem?
> Thanks for your grest help.
> 

Try using INSERT OR FAIL instead of of INSERT OR IGNORE.
--
D. Richard Hipp   <[EMAIL PROTECTED]>

Reply via email to