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