автоинкремент в SQLite - PullRequest
       2

автоинкремент в SQLite

1 голос
/ 09 августа 2011

Я использую это для автоинкрементации одного столбца,

"create table info (ID INTEGER PRIMARY KEY AUTOINCREMENT, age int)" для вставки в таблицу. У меня есть это!

public static void databaseInsertInfoTable(int ID,int age){...}

, когда я хочу вызвать databaseInsertInfoTable, он не принимает ноль для идентификатора.

databaseInsertInfoTable(null,12);// this has error!

какое значение я должен вставить для идентификатора ??

Ответы [ 2 ]

4 голосов
/ 09 августа 2011

Согласно FAQ по SQLite , использование "null" для вставки должно работать просто отлично.

Однако, если вы используете Java, вы не можете передать null, гдетип параметра является примитивом типа int.Вы должны использовать один из Java * классов-оболочек , чтобы иметь возможность передавать нулевое значение, поэтому попробуйте поместить туда Integer вместо int.

3 голосов
/ 09 октября 2012

Вы также можете сделать запрос, не вставляя параметр id. Это было бы так:

CREATE TABLE Aigua (id INTEGER PRIMARY KEY,mq DOUBLE, total DOUBLE,emq DOUBLE,data DATETIME)

А потом при вставке:

INSERT INTO Aigua (mq,total,emq,data) VALUES (aigua.getTotalm3(),aigua.getTotale(),aigua.getEm3(),formatedDate)

Обратите внимание, что вам не нужно изменять поле id, и автоинкремент все еще происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...