flutter - 如何在Flutter中使用SQFLite创建多个表?

标签 flutter dart

我正在使用sqflite数据库。当我尝试创建一个表时,它可以完美地工作。但是,当我添加一些其他SQL代码来创建其他表时,出现此错误:

error DatabaseException(near ",": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE deletednotes(id INTEGER PRIMARY, title TEXT, description TEXT, priority INTEGER, date int)) sql 'CREATE TABLE deletednotes(id INTEGER PRIMARY, title TEXT, description TEXT, priority INTEGER, date int)' args []} during open, closing...

如何正确创建多个表?

这是我的查询:
  void _createDB(Database db, int version) async {
    await db.execute('''CREATE TABLE $notetable(
          $COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_TITLE TEXT, $COL_DESCRIPTION TEXT, $COL_PRIORITY INTEGER, $COL_DATE int)''');

    await db.execute(
        '''CREATE TABLE $archievedtable($COL_ID INTEGER PRIMARY KEY, $COL_TITLE TEXT, $COL_DESCRIPTION TEXT, $COL_PRIORITY INTEGER, $COL_DATE int)''');

    await db.execute(
        '''CREATE TABLE $deletedtable($COL_ID INTEGER PRIMARY, $COL_TITLE TEXT, $COL_DESCRIPTION TEXT, $COL_PRIORITY INTEGER, $COL_DATE int)''');
  }

可能会有一些语法错误,有什么想法吗?
  • const变量:
  •   static const COL_TITLE = "title";
      static const COL_DESCRIPTION = "description";
      static const COL_PRIORITY = "priority";
      static const COL_DATE = "date";
    
      String notetable = "notes";
      String deletedtable = "deletednotes";
      String archievedtable = "archievednotes";```
    

    最佳答案

    将SQL代码中的int替换为INTEGER并更改以下内容
    在声明主键之后添加关键字KEY的行:
    await db.execute( '''CREATE TABLE $deletedtable($COL_ID INTEGER PRIMARY, $COL_TITLE TEXT, $COL_DESCRIPTION TEXT, $COL_PRIORITY INTEGER, $COL_DATE int)''');

    至:
    await db.execute( '''CREATE TABLE $deletedtable($COL_ID INTEGER PRIMARY KEY, $COL_TITLE TEXT, $COL_DESCRIPTION TEXT, $COL_PRIORITY INTEGER, $COL_DATE int)''');

    关于flutter - 如何在Flutter中使用SQFLite创建多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61286189/

    相关文章:

    process - 如何向进程发送数据?

    flutter - 断言失败 : line 22 pos 14: 'url != null' : is not true

    firebase - 异步功能在 WorkManager 中不起作用

    json - 如何在Dart中转到特定的JSON节点

    flutter - 如何在Flutter的 future 中使用 future ?

    json - 如何在Flutter/Dart中获取JSON数组

    flutter - Flutter shared_preferences getString()不返回字符串?

    http - 由于 '_InternalLinkedHashMap<String, dynamic>'不是 'Iterable<dynamic>'类型的子类型,反序列化失败

    flutter - 使用Dart/Flutter查询包含保存在Cloud Firestore中的ID的 map

    android - 无法构建 Flutter Android Build : Received status code 502 from server: Bad Gateway