views:

46

answers:

2

Hi All,

How I can assign a sequence value to a field "UID" which is NUll in existing sqlite table, for example

table: FOO  
name    UID
A   1
B   2
C   100
D   NULL
E   NULL
F   NULL

what I want is

table: FOO  
name    UID
A   1
B   2
C   100
D   101
E   102
F   103

Can some body help? I want to seek an alternative for using autoincrement on my own reason...

thanks!

A: 

Register a function that returns the number of times it's called, and then do

UPDATE FOO SET UID = 100 + increment() WHERE UID IS NULL
dan04
thanks, should increment() be a C function,or can it be python function? Or, can SQL language such as SELECT count(*) from FOO works instead of increment() ?
K. C
A: 

a drafted approach in my mind, I have no idea if it works fine and how much it reliable......

CREATE TRIGGER auto_next_id
AFTER INSERT ON table FOR EACH ROW
BEGIN
   UPDATE table SET uid = max(uid) + 1 ;
END;
K. C