J'ai la requête SQLite suivante:
CREATE TABLE Logs ( Id integer IDENTITY (1, 1) not null CONSTRAINT PKLogId PRIMARY KEY, ...
IDENTITY (1, 1)
-> Qu'est-ce que cela signifie? PKLogId
qu'est-ce que c'est? Cela ne semble être défini nulle part Id
soit integer primary key
avec autoincrement
. J'aimerais pouvoir insérer dans cette table Logs
en omettant la colonne Id
dans ma requête. Je veux que Id
soit automatiquement ajouté et incrémenté. Est-ce possible? Comment puis-je faire ceci?Au moment où j'essaye d'insérer sans Id
je reçois:
Error while executing query: Logs.Id may not be NULL
Je ne suis pas sûr que vous utilisiez réellement SQLite selon la syntaxe de votre exemple.
Si vous l’êtes, cela pourrait vous intéresser SQLite FAQ # 1: Comment créer un champ AUTOINCREMENT? :
Réponse courte: une colonne déclarée INTEGER PRIMARY KEY sera incrémentation automatique.
Changez le en:
CREATE TABLE Logs ( Id integer PRIMARY KEY,....
Si vous l’êtes, SQLite FAQ # 1 vous intéresse peut-être: comment créer un champ AUTOINCREMENT ?:
Réponse courte: Une colonne déclarée INTEGER PRIMARY KEY sera incrémentée automatiquement.
Cela n’est pas tout à fait exact. Une clé primaire entière sera effectivement incrémentée. Toutefois, si la table supprime toutes les lignes, elle recommence depuis le début. Il est important si vous voulez que tous les enregistrements associés soient liés correctement pour utiliser la description d'auto-incrémentation après la déclaration de clé primaire sur le champ entier .