Как вернуть идентификатор из вставки в базу данных sqflite в флаттере - PullRequest
0 голосов
/ 07 июля 2019

У меня есть 2 базы данных. Один для папок и один для заметок. База данных папок содержит заголовок и строку json списка идентификаторов Идентификаторы должны представлять вторую базу данных заметок. В основном папки должны содержать список заметок, и это лучший способ, который я нашел до сих пор. Моя проблема в том, что, когда я создаю новую заметку и вставляю ее в базу данных, я не уверен, как вернуть идентификатор новой заметки.

Если я установлю идентификатор при создании заметки, тогда все заметки будут иметь одинаковый идентификатор. Если я не установил идентификатор, то вызов note.id возвращает ноль. Исходя из моей функции создания, должен быть установлен идентификатор заметки (id INTEGER PRIMARY KEY AUTOINCREMENT)

Моя идея заключается в том, что при создании новой заметки я каким-то образом возвращал бы int id, чтобы я мог легко вставить его в папку. Вот что у меня есть.

void addNewNote(Note note) async {
    var db_connection = await db;
    String query =
        'INSERT INTO Note(title, content, date_created, date_last_edited) VALUES(\'${note.title}\', \'${note.content}\', \'${note.date_created}\', \'${note.date_last_edited}\')';
    await db_connection.transaction((transaction) async {
      return await transaction.rawInsert(query);
    });
  }
...