2011-12-15 21 views
15

Ho la seguente interrogazione SQLite:SQLite: autoincremento domande chiave primaria

CREATE TABLE Logs (Id integer IDENTITY (1, 1) not null CONSTRAINT PKLogId PRIMARY KEY, ... 
  1. IDENTITY (1, 1) -> Cosa significa?
  2. PKLogId cos'è? Questo non sembra essere definito ovunque
  3. Voglio Id per essere integer primary key con autoincrement. Vorrei poter inserire in questa tabella Logs omettendo la colonna Id nella mia query. Voglio che venga aggiunto e incrementato automaticamente lo standard Id. È possibile? Come posso fare questo?

Nel momento in cui cerco di inserire senza Id ottengo:

Error while executing query: Logs.Id may not be NULL 
+0

Sembra la sintassi di SQL Server. –

+0

Sì, questa query 'Crea tabella' è stata convertita da SQL Server a SQLite – Caner

risposta

56

io non sono sicuro se si sta usando SQLite secondo la sintassi del vostro esempio.

Se si, si può essere interessati a SQLite FAQ #1: How do I create an AUTOINCREMENT field?:

Risposta breve: Una colonna dichiarata INTEGER PRIMARY KEY volontà autoincrement.

+9

Il mio problema era che avevo usato INT invece di INTEGER. Grazie per la risposta –

11

modificarla in:

CREATE TABLE Logs (Id integer PRIMARY KEY,.... 
0

Se si, si può essere interessati a SQLite FAQ # 1: Come si crea un campo AUTOINCREMENT ?:

Risposta breve: Una colonna dichiarata INTEGER PRIMARY KEY incrementerà automaticamente.

Questo in effetti non è del tutto preciso. Una chiave primaria intera aumenterà davvero, tuttavia se la tabella interrompe tutte le righe, ricomincia dall'inizio, È importante se si desidera che tutti i record associati siano collegati correttamente per utilizzare la descrizione autoincrement dopo la dichiarazione della chiave primaria nel campo intero .

Problemi correlati