Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在颤振sqflite中存储复杂类型_Flutter_Sqflite - Fatal编程技术网

Flutter 在颤振sqflite中存储复杂类型

Flutter 在颤振sqflite中存储复杂类型,flutter,sqflite,Flutter,Sqflite,如何在sqflite中存储复杂类型,例如: 表中的人名、姓名、电子邮件、汽车列表; 其中,汽车是具有id和类型的实体? 有没有像如何将其存储为Blob或新表并将其链接到person表这样的解决方案?这不是真正的移动开发,更多的是SQL DB和更一般的数据库管理 要直接回答,您需要为汽车创建一个带有汽车id的表格,并且您需要知道人与汽车之间的关系,以便建立链接: 1-1:一个人只能有一辆车,一辆车只能属于一个人 1-n:一个人可以有多辆车,但一辆车只能属于一个人 n-1:一个人只能有一辆车,但一辆

如何在sqflite中存储复杂类型,例如: 表中的人名、姓名、电子邮件、汽车列表; 其中,汽车是具有id和类型的实体?
有没有像如何将其存储为Blob或新表并将其链接到person表这样的解决方案?

这不是真正的移动开发,更多的是SQL DB和更一般的数据库管理

要直接回答,您需要为汽车创建一个带有汽车id的表格,并且您需要知道人与汽车之间的关系,以便建立链接:

1-1:一个人只能有一辆车,一辆车只能属于一个人 1-n:一个人可以有多辆车,但一辆车只能属于一个人 n-1:一个人只能有一辆车,但一辆车可以有多个车主 n-n:最后,最复杂的情况是一个人只能有一辆车&一辆车可以有多个车主 在前三种情况中,您在1中设置id,例如1-n:您在car表中输入一个字段所有者id,它是所有者的id


在最后一种情况下,您需要创建一个匹配表:matching id car id person id

这实际上与移动开发无关,更多的是关于SQL DB和更一般的数据库管理

要直接回答,您需要为汽车创建一个带有汽车id的表格,并且您需要知道人与汽车之间的关系,以便建立链接:

1-1:一个人只能有一辆车,一辆车只能属于一个人 1-n:一个人可以有多辆车,但一辆车只能属于一个人 n-1:一个人只能有一辆车,但一辆车可以有多个车主 n-n:最后,最复杂的情况是一个人只能有一辆车&一辆车可以有多个车主 在前三种情况中,您在1中设置id,例如1-n:您在car表中输入一个字段所有者id,它是所有者的id


在最后一种情况下,您需要使用:matching id car id person id创建一个匹配表。您不能在一个简单的表中创建匹配表。我理解你的观点,你想存储,例如,这样的东西:

citizen = {
  "name":"",
  "id":"",
  "childrens":{
     children1:{
       "name":"",
       "id":"",
     }
     children2:{
       "name":"",
       "id":"",
     }
  }
}
这是因为sqflite是一个使用设备sqlite的工具,这个DB在apache软件下工作。这意味着,Sqflite存储数据,sqldb存储数据,而您不能将对象存储在sql表中

您应该根据需要为每个复杂数据创建其他表。类似这样的伪代码:

'CREATE TABLE Citizen ('
          ' id INTEGER PRIMARY KEY,'
          ' name TEXT,'
          ' children1Id INTEGER,'
          ' children2Id INTEGER,'
          '); '
'CREATE TABLE Children ('
          ' id INTEGER PRIMARY KEY,'
          ' name TEXT'
          ')'

我希望这会对你有所帮助。

你不能在一张简单的桌子上。我理解你的观点,你想存储,例如,这样的东西:

citizen = {
  "name":"",
  "id":"",
  "childrens":{
     children1:{
       "name":"",
       "id":"",
     }
     children2:{
       "name":"",
       "id":"",
     }
  }
}
这是因为sqflite是一个使用设备sqlite的工具,这个DB在apache软件下工作。这意味着,Sqflite存储数据,sqldb存储数据,而您不能将对象存储在sql表中

您应该根据需要为每个复杂数据创建其他表。类似这样的伪代码:

'CREATE TABLE Citizen ('
          ' id INTEGER PRIMARY KEY,'
          ' name TEXT,'
          ' children1Id INTEGER,'
          ' children2Id INTEGER,'
          '); '
'CREATE TABLE Children ('
          ' id INTEGER PRIMARY KEY,'
          ' name TEXT'
          ')'
我希望这会对你有所帮助。

就两张桌子、两个人和两辆车?我不认为这是一个复杂的类型只有两张桌子人和车?我不认为这是一种复杂的类型