Comment puis-je attribuer une valeur de séquence à un champ Sqlite lorsque la valeur UID de champ est nul
-
26-09-2019 - |
Question
Comment je peux attribuer une valeur de séquence à un champ "UID" qui est nul dans la table SQLite existante, par exemple
table: FOO
name UID
A 1
B 2
C 100
D NULL
E NULL
F NULL
Ce que je veux, c'est
table: FOO
name UID
A 1
B 2
C 100
D 101
E 102
F 103
Un corps peut-il aider? Je veux chercher une alternative pour utiliser AutoIncrement pour moi pour moi ...
Merci!
La solution
Enregistrer une fonction qui renvoie le nombre de fois qu'il s'appelle, puis fait
UPDATE FOO SET UID = 100 + increment() WHERE UID IS NULL
Autres conseils
Une approche rédigée dans mon esprit, je ne sais pas si cela fonctionne bien et combien il est fiable ......
CREATE TRIGGER auto_next_id
AFTER INSERT ON table FOR EACH ROW
BEGIN
UPDATE table SET uid = max(uid) + 1 ;
END;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow