Как я могу назначить значение последовательности на поле SQLite, когда значение UID поле является NULL
-
26-09-2019 - |
Вопрос
Как я могу назначить значение последовательности в поле «UID», который является NULL в существующей таблице SQLite, например,
table: FOO
name UID
A 1
B 2
C 100
D NULL
E NULL
F NULL
что я хочу, это
table: FOO
name UID
A 1
B 2
C 100
D 101
E 102
F 103
Может ли некоторое тело помочь? Я хочу искать альтернативу для использования автоинкремента по моей причине ...
Спасибо!
Решение
Зарегистрировать функцию это возвращает количество раз, когда он называется, а затем сделать
UPDATE FOO SET UID = 100 + increment() WHERE UID IS NULL
Другие советы
У меня есть разработанный подход, я понятия не имею, если он отлично работает и насколько он надежен ......
CREATE TRIGGER auto_next_id
AFTER INSERT ON table FOR EACH ROW
BEGIN
UPDATE table SET uid = max(uid) + 1 ;
END;
Не связан с StackOverflow